diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..1dfd135 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,59 @@ + +name: Main +on: [push, pull_request] +jobs: + run: + runs-on: ubuntu-latest + strategy: + matrix: + dependencies: ['lowest', 'highest'] + php-versions: ['7.2', '7.3', '7.4'] + name: PHP ${{ matrix.php-versions }} Test with ${{ matrix.dependencies }} dependencies on ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, intl + coverage: xdebug + tools: cs2pr + + - name: Setup problem matchers for PHP + run: echo "::add-matcher::${{ runner.tool_cache }}/php.json" + + - name: Setup problem matchers for PHPUnit + run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" + + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: Cache dependencies + uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install dependencies + run: composer install --prefer-dist --no-progress --no-suggest + + - name: Use lowest dependencies + if: ${{ matrix.dependencies == 'lowest' }} + run: composer update --prefer-lowest --no-progress --no-suggest + + - name: Use highest dependencies + if: ${{ matrix.dependencies == 'highest' }} + run: composer update --no-progress --no-suggest + + - name: PHP CodeSniffer + run: composer phpcs + + - name: PHPUnit + run: composer phpunit + + - name: PHPStan + run: composer stan -- --error-format=checkstyle | cs2pr \ No newline at end of file diff --git a/.scrutinizer.yml b/.scrutinizer.yml deleted file mode 100644 index 0123f4b..0000000 --- a/.scrutinizer.yml +++ /dev/null @@ -1,19 +0,0 @@ -filter: - paths: - - src/ - excluded_paths: - - config/ - - tests/ - dependency_paths: - - vendor/ -build: - environment: - php: 7.2.13 - nodes: - analysis: - tests: - override: - - php-scrutinizer-run - - phpcs-run -tools: - external_code_coverage: true \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 856b078..0000000 --- a/.travis.yml +++ /dev/null @@ -1,53 +0,0 @@ -language: php -sudo: false - -## Cache composer bits -cache: - directories: - - vendor - - $HOME/.composer/cache - -## PHP versions we test against -dist: bionic -php: - - 7.2 - - 7.3 - - 7.4 - -## Build matrix for lowest and highest possible targets -matrix: - include: - - php: 7.2 - env: dependencies=lowest - - php: 7.3 - env: dependencies=lowest - - php: 7.4 - env: dependencies=lowest - - php: 7.2 - env: dependencies=highest - - php: 7.3 - env: dependencies=highest - - php: 7.4 - env: dependencies=highest - -## Update composer and run the appropriate composer command -before_script: - - if [ -z "$dependencies" ]; then composer install; fi; - - composer config --unset platform.php - - if [ "$dependencies" = "lowest" ]; then composer update --prefer-lowest -n; fi; - - if [ "$dependencies" = "highest" ]; then composer update -n; fi; - - composer show -i - -## Run the actual test -script: composer travis - -## Send coverage report to scrutinizer -after_script: composer travis-coverage - -notifications: - webhooks: - urls: - - http://wyrihaximus.net/wyri_projects/wyri_projects/webhook/travisci.json - on_success: always - on_failure: always - on_start: true diff --git a/README.md b/README.md index 579fec3..0eb9ae4 100644 --- a/README.md +++ b/README.md @@ -82,9 +82,9 @@ per case basis as extra composer packages. For all supported adapters see: ## Example Data Source Names ## -| Adapter | Data Source Name | -| -------------- | --------------------------------------------------------------------------- | -| AwsS3v3Adapter | `s3://key:secret@bucket/path?region={{region}}&version={{latest\|version}}` | +| Adapter | Data Source Name | +| ------------ | ----------------------------------------------- | +| AwsS3Adapter | `s3://key:secret@bucket/path?region={{region}}` | ## CakePHP version compatibility matrix ## diff --git a/composer.json b/composer.json index b747a5d..c55a049 100644 --- a/composer.json +++ b/composer.json @@ -15,16 +15,19 @@ } ], "require": { - "php": ">=7.2", + "php": "^7.2.5", "cakephp/cakephp": "^4.0", - "league/flysystem": "^1.0.61" + "league/flysystem": "^2.0.0-alpha.2" }, "require-dev": { + "async-aws/flysystem-s3": "^0.4.0", "cakephp/debug_kit": "^4.0", - "phpunit/phpunit": "~8.5.0", + "lorenzo/piping-bag": "^1.0", "phake/phake": "3.*", - "squizlabs/php_codesniffer": "~3.5.0", - "lorenzo/piping-bag": "^1.0" + "phpstan/phpstan": "^0.12.14", + "phpunit/phpunit": "~8.5.0", + "ray/di": "^2.2", + "squizlabs/php_codesniffer": "~3.5.0" }, "autoload": { "psr-4": { @@ -39,24 +42,23 @@ "tests/functions.php" ] }, + "suggest": { + "async-aws/flysystem-s3": "Needed to support the AwsS3Adapter Factory" + }, "scripts": { "all": [ "@phpcs", + "@stan", "@phpunit" ], - "travis": [ - "@phpcs", - "@phpunit-travis" - ], "phpcs": "phpcs -p", - "phpunit": "phpunit --coverage-text", - "phpunit-travis": "phpunit --coverage-text --coverage-clover ./build/logs/clover.xml", - "travis-coverage": "if [ -f ./build/logs/clover.xml ]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml; fi" + "stan": "phpstan analyse src/ -vvv", + "phpunit": "phpunit --coverage-text" }, "config": { "sort-packages": true, "platform": { - "php": "7.2" + "php": "7.2.5" } } } \ No newline at end of file diff --git a/composer.lock b/composer.lock index 8e619bf..cabaaf7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "214a1ccbfcb478f7e2bb9a0e66ec9104", + "content-hash": "f8b1b51f1a2803a3120c491a2bbf2d49", "packages": [ { "name": "aura/intl", @@ -50,20 +50,24 @@ "l10n", "localization" ], + "support": { + "issues": "https://github.com/auraphp/Aura.Intl/issues", + "source": "https://github.com/auraphp/Aura.Intl/tree/3.x" + }, "time": "2017-01-20T05:00:11+00:00" }, { "name": "cakephp/cakephp", - "version": "4.0.4", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/cakephp/cakephp.git", - "reference": "0be143baa8592a110489406905ca3e074993efa5" + "reference": "c64eec0925460674a831ac899f924bb8a956da1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/cakephp/zipball/0be143baa8592a110489406905ca3e074993efa5", - "reference": "0be143baa8592a110489406905ca3e074993efa5", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/c64eec0925460674a831ac899f924bb8a956da1a", + "reference": "c64eec0925460674a831ac899f924bb8a956da1a", "shasum": "" }, "require": { @@ -71,6 +75,7 @@ "cakephp/chronos": "^2.0", "composer/ca-bundle": "^1.2", "ext-intl": "*", + "ext-json": "*", "ext-mbstring": "*", "laminas/laminas-diactoros": "^2.2.2", "laminas/laminas-httphandlerrunner": "^1.1", @@ -145,20 +150,26 @@ "rapid-development", "validation" ], - "time": "2020-02-22T02:14:22+00:00" + "support": { + "forum": "https://stackoverflow.com/tags/cakephp", + "irc": "irc://irc.freenode.org/cakephp", + "issues": "https://github.com/cakephp/cakephp/issues", + "source": "https://github.com/cakephp/cakephp" + }, + "time": "2020-05-24T01:27:35+00:00" }, { "name": "cakephp/chronos", - "version": "2.0.3", + "version": "2.0.5", "source": { "type": "git", "url": "https://github.com/cakephp/chronos.git", - "reference": "0b176c8e8abb18b552b789f60250188a74d534ab" + "reference": "9309d85c33c65917c0e582c0a6b07df56fe27dd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/chronos/zipball/0b176c8e8abb18b552b789f60250188a74d534ab", - "reference": "0b176c8e8abb18b552b789f60250188a74d534ab", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/9309d85c33c65917c0e582c0a6b07df56fe27dd9", + "reference": "9309d85c33c65917c0e582c0a6b07df56fe27dd9", "shasum": "" }, "require": { @@ -200,20 +211,25 @@ "datetime", "time" ], - "time": "2020-02-26T20:24:12+00:00" + "support": { + "irc": "irc://irc.freenode.org/cakephp", + "issues": "https://github.com/cakephp/chronos/issues", + "source": "https://github.com/cakephp/chronos" + }, + "time": "2020-05-26T01:27:20+00:00" }, { "name": "composer/ca-bundle", - "version": "1.2.6", + "version": "1.2.7", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "47fe531de31fca4a1b997f87308e7d7804348f7e" + "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/47fe531de31fca4a1b997f87308e7d7804348f7e", - "reference": "47fe531de31fca4a1b997f87308e7d7804348f7e", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd", "shasum": "" }, "require": { @@ -256,20 +272,35 @@ "ssl", "tls" ], - "time": "2020-01-13T10:02:55+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.2.7" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-04-08T08:27:21+00:00" }, { "name": "laminas/laminas-diactoros", - "version": "2.2.2", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b" + "reference": "5ab185dba63ec655a2380c97711b09adc7061f89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/95178c4751d737cdf9ab0a9f70a42754ac860e7b", - "reference": "95178c4751d737cdf9ab0a9f70a42754ac860e7b", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/5ab185dba63ec655a2380c97711b09adc7061f89", + "reference": "5ab185dba63ec655a2380c97711b09adc7061f89", "shasum": "" }, "require": { @@ -286,7 +317,7 @@ "psr/http-message-implementation": "1.0" }, "replace": { - "zendframework/zend-diactoros": "self.version" + "zendframework/zend-diactoros": "^2.2.1" }, "require-dev": { "ext-curl": "*", @@ -294,15 +325,18 @@ "ext-libxml": "*", "http-interop/http-factory-tests": "^0.5.0", "laminas/laminas-coding-standard": "~1.0.0", - "php-http/psr7-integration-tests": "dev-master", + "php-http/psr7-integration-tests": "^1.0", "phpunit/phpunit": "^7.5.18" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev", - "dev-develop": "2.2.x-dev", - "dev-release-1.8": "1.8.x-dev" + "dev-master": "2.3.x-dev", + "dev-develop": "2.4.x-dev" + }, + "laminas": { + "config-provider": "Laminas\\Diactoros\\ConfigProvider", + "module": "Laminas\\Diactoros" } }, "autoload": { @@ -340,7 +374,21 @@ "psr", "psr-7" ], - "time": "2020-01-07T19:39:26+00:00" + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-diactoros/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-diactoros/issues", + "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", + "source": "https://github.com/laminas/laminas-diactoros" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-04-27T17:07:01+00:00" }, { "name": "laminas/laminas-httphandlerrunner", @@ -399,20 +447,28 @@ "psr-15", "psr-7" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-httphandlerrunner/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-httphandlerrunner/issues", + "rss": "https://github.com/laminas/laminas-httphandlerrunner/releases.atom", + "source": "https://github.com/laminas/laminas-httphandlerrunner" + }, "time": "2019-12-31T17:06:16+00:00" }, { "name": "laminas/laminas-zendframework-bridge", - "version": "1.0.1", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "0fb9675b84a1666ab45182b6c5b29956921e818d" + "reference": "fcd87520e4943d968557803919523772475e8ea3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/0fb9675b84a1666ab45182b6c5b29956921e818d", - "reference": "0fb9675b84a1666ab45182b6c5b29956921e818d", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/fcd87520e4943d968557803919523772475e8ea3", + "reference": "fcd87520e4943d968557803919523772475e8ea3", "shasum": "" }, "require": { @@ -451,58 +507,52 @@ "laminas", "zf" ], - "time": "2020-01-07T22:58:31+00:00" + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-05-20T16:45:56+00:00" }, { "name": "league/flysystem", - "version": "1.0.64", + "version": "2.0.0-alpha.3", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "d13c43dbd4b791f815215959105a008515d1a2e0" + "reference": "0d8cdd573af8b6ad2baa60e4e9ba8a48b86e9bb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d13c43dbd4b791f815215959105a008515d1a2e0", - "reference": "d13c43dbd4b791f815215959105a008515d1a2e0", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0d8cdd573af8b6ad2baa60e4e9ba8a48b86e9bb6", + "reference": "0d8cdd573af8b6ad2baa60e4e9ba8a48b86e9bb6", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "php": ">=5.5.9" + "ext-json": "*", + "league/mime-type-detection": "^1.0.0", + "php": "^7.2" }, "conflict": { - "league/flysystem-sftp": "<1.0.6" + "guzzlehttp/ringphp": "<1.1.1" }, "require-dev": { - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.26" - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "aws/aws-sdk-php": "^3.132.4", + "phpseclib/phpseclib": "^2.0", + "phpstan/phpstan": "^0.12.9", + "phpunit/phpunit": "^8.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Flysystem\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -512,30 +562,97 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "File storage abstraction for PHP", "keywords": [ - "Cloud Files", "WebDAV", - "abstraction", "aws", "cloud", - "copy.com", - "dropbox", - "file systems", + "file", "files", "filesystem", "filesystems", "ftp", - "rackspace", - "remote", "s3", "sftp", "storage" ], - "time": "2020-02-05T18:14:17+00:00" + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/2.x" + }, + "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": "2020-03-21T15:57:57+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "521ff65678b30c9efab86462eba3bf9e0676f25b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/521ff65678b30c9efab86462eba3bf9e0676f25b", + "reference": "521ff65678b30c9efab86462eba3bf9e0676f25b", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.2" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.11", + "phpunit/phpunit": "^8.5" + }, + "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/master" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2020-04-04T15:43:58+00:00" }, { "name": "psr/http-client", @@ -584,6 +701,10 @@ "psr", "psr-18" ], + "support": { + "issues": "https://github.com/php-fig/http-client/issues", + "source": "https://github.com/php-fig/http-client/tree/master" + }, "time": "2018-10-30T23:29:13+00:00" }, { @@ -636,6 +757,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, "time": "2019-04-30T12:38:16+00:00" }, { @@ -686,6 +810,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -739,6 +866,10 @@ "response", "server" ], + "support": { + "issues": "https://github.com/php-fig/http-server-handler/issues", + "source": "https://github.com/php-fig/http-server-handler/tree/master" + }, "time": "2018-10-30T16:46:14+00:00" }, { @@ -792,20 +923,24 @@ "request", "response" ], + "support": { + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/master" + }, "time": "2018-10-30T17:12:04+00:00" }, { "name": "psr/log", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", "shasum": "" }, "require": { @@ -839,7 +974,10 @@ "psr", "psr-3" ], - "time": "2019-11-01T11:05:21+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, + "time": "2020-03-23T09:12:05+00:00" }, { "name": "psr/simple-cache", @@ -887,28 +1025,227 @@ "psr-16", "simple-cache" ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, "time": "2017-10-23T01:57:42+00:00" } ], "packages-dev": [ + { + "name": "async-aws/core", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/async-aws/core.git", + "reference": "f9309532be4216b59da3c63ef25538d499dadac0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/async-aws/core/zipball/f9309532be4216b59da3c63ef25538d499dadac0", + "reference": "f9309532be4216b59da3c63ef25538d499dadac0", + "shasum": "" + }, + "require": { + "ext-hash": "*", + "ext-json": "*", + "ext-simplexml": "*", + "php": "^7.2.5", + "psr/cache": "^1.0", + "psr/log": "^1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/http-client": "^4.4 || ^5.0", + "symfony/http-client-contracts": "^1.1.8 || ^2.0", + "symfony/service-contracts": "^1.0 || ^2.0" + }, + "conflict": { + "async-aws/s3": "<1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "AsyncAws\\Core\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Core package to integrate with AWS. This is a lightweight AWS SDK provider by AsyncAws.", + "keywords": [ + "amazon", + "async-aws", + "aws", + "sdk", + "sts" + ], + "support": { + "source": "https://github.com/async-aws/core/tree/master" + }, + "funding": [ + { + "url": "https://github.com/jderusse", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2020-05-21T16:57:17+00:00" + }, + { + "name": "async-aws/flysystem-s3", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/async-aws/flysystem-s3.git", + "reference": "9877eb4321de89c5cfa09778689c67ed8d9888e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/async-aws/flysystem-s3/zipball/9877eb4321de89c5cfa09778689c67ed8d9888e4", + "reference": "9877eb4321de89c5cfa09778689c67ed8d9888e4", + "shasum": "" + }, + "require": { + "async-aws/core": "^1.0", + "async-aws/s3": "^1.0", + "league/flysystem": "^1.0.65 || ^2.0.0-alpha.2", + "league/mime-type-detection": "^1.0", + "php": "^7.2.5" + }, + "require-dev": { + "league/flysystem-adapter-test-utilities": "2.x-dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5-dev" + } + }, + "autoload": { + "psr-4": { + "AsyncAws\\Flysystem\\S3\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "Flysystem S3 adapter from AsyncAws.", + "keywords": [ + "Flysystem", + "amazon", + "async-aws", + "aws", + "filesystem", + "s3", + "sdk" + ], + "support": { + "source": "https://github.com/async-aws/flysystem-s3/tree/master" + }, + "funding": [ + { + "url": "https://github.com/jderusse", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2020-05-21T16:57:17+00:00" + }, + { + "name": "async-aws/s3", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/async-aws/s3.git", + "reference": "5f0e149b82eb82a1eef99220073e5338c69fe155" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/async-aws/s3/zipball/5f0e149b82eb82a1eef99220073e5338c69fe155", + "reference": "5f0e149b82eb82a1eef99220073e5338c69fe155", + "shasum": "" + }, + "require": { + "async-aws/core": "^1.2", + "ext-dom": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-simplexml": "*", + "php": "^7.2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "AsyncAws\\S3\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "S3 client, part of the AWS SDK provided by AsyncAws.", + "keywords": [ + "amazon", + "async-aws", + "aws", + "s3", + "sdk" + ], + "support": { + "source": "https://github.com/async-aws/s3/tree/1.2.0" + }, + "funding": [ + { + "url": "https://github.com/jderusse", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2020-05-21T16:57:17+00:00" + }, { "name": "cakephp/debug_kit", - "version": "4.0.6", + "version": "4.1.2", "source": { "type": "git", "url": "https://github.com/cakephp/debug_kit.git", - "reference": "2cbe8b436d369adac2e4d39161cf0795ddb625af" + "reference": "14d6b6b13286ce67e73722c422c09ed82a7b0e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/2cbe8b436d369adac2e4d39161cf0795ddb625af", - "reference": "2cbe8b436d369adac2e4d39161cf0795ddb625af", + "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/14d6b6b13286ce67e73722c422c09ed82a7b0e65", + "reference": "14d6b6b13286ce67e73722c422c09ed82a7b0e65", "shasum": "" }, "require": { "cakephp/cakephp": "^4.0", "cakephp/chronos": "^2.0", - "cakephp/plugin-installer": "^1.0", "composer/composer": "^1.3", "jdorn/sql-formatter": "^1.2", "php": ">=7.2" @@ -950,61 +1287,26 @@ "debug", "kit" ], - "time": "2020-02-07T15:28:34+00:00" - }, - { - "name": "cakephp/plugin-installer", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/cakephp/plugin-installer.git", - "reference": "3be2ea116603341b196592053e973f4abe71e8b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/plugin-installer/zipball/3be2ea116603341b196592053e973f4abe71e8b2", - "reference": "3be2ea116603341b196592053e973f4abe71e8b2", - "shasum": "" - }, - "require-dev": { - "cakephp/cakephp-codesniffer": "dev-master", - "composer/composer": "^1.0", - "phpunit/phpunit": "^4.8|^5.7|^6.0" - }, - "type": "composer-installer", - "extra": { - "class": "Cake\\Composer\\Installer\\PluginInstaller" - }, - "autoload": { - "psr-4": { - "Cake\\Composer\\": "src/" - } + "support": { + "forum": "http://stackoverflow.com/tags/cakephp", + "irc": "irc://irc.freenode.org/cakephp", + "issues": "https://github.com/cakephp/debug_kit/issues", + "source": "https://github.com/cakephp/debug_kit" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://cakephp.org" - } - ], - "description": "A composer installer for CakePHP 3.0+ plugins.", - "time": "2019-11-12T10:21:19+00:00" + "time": "2020-04-26T23:32:27+00:00" }, { "name": "composer/composer", - "version": "1.9.3", + "version": "1.10.6", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "1291a16ce3f48bfdeca39d64fca4875098af4d7b" + "reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/1291a16ce3f48bfdeca39d64fca4875098af4d7b", - "reference": "1291a16ce3f48bfdeca39d64fca4875098af4d7b", + "url": "https://api.github.com/repos/composer/composer/zipball/be81b9c4735362c26876bdbfd3b5bc7e7f711c88", + "reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88", "shasum": "" }, "require": { @@ -1017,17 +1319,18 @@ "psr/log": "^1.0", "seld/jsonlint": "^1.4", "seld/phar-utils": "^1.0", - "symfony/console": "^2.7 || ^3.0 || ^4.0", - "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", - "symfony/finder": "^2.7 || ^3.0 || ^4.0", - "symfony/process": "^2.7 || ^3.0 || ^4.0" + "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "conflict": { - "symfony/console": "2.8.38" + "symfony/console": "2.8.38", + "symfony/phpunit-bridge": "3.4.40" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7", - "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + "phpspec/prophecy": "^1.10", + "symfony/phpunit-bridge": "^3.4" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", @@ -1040,7 +1343,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.10-dev" } }, "autoload": { @@ -1071,7 +1374,22 @@ "dependency", "package" ], - "time": "2020-02-04T11:58:49+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/composer/issues", + "source": "https://github.com/composer/composer/tree/1.10.6" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-05-06T08:28:10+00:00" }, { "name": "composer/semver", @@ -1132,6 +1450,11 @@ "validation", "versioning" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/1.5.1" + }, "time": "2020-01-13T12:06:48+00:00" }, { @@ -1192,20 +1515,25 @@ "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.3" + }, "time": "2020-02-14T07:44:31+00:00" }, { "name": "composer/xdebug-handler", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "cbe23383749496fe0f373345208b79568e4bc248" + "reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/cbe23383749496fe0f373345208b79568e4bc248", - "reference": "cbe23383749496fe0f373345208b79568e4bc248", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/1ab9842d69e64fb3a01be6b656501032d1b78cb7", + "reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7", "shasum": "" }, "require": { @@ -1236,25 +1564,37 @@ "Xdebug", "performance" ], - "time": "2019-11-06T16:40:04+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/master" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + } + ], + "time": "2020-03-01T12:26:26+00:00" }, { "name": "doctrine/annotations", - "version": "v1.8.0", + "version": "1.10.3", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", - "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5db60a4969eba0e0c197a19c077780aadbc43c5d", + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d", "shasum": "" }, "require": { "doctrine/lexer": "1.*", - "php": "^7.1" + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/cache": "1.*", @@ -1263,7 +1603,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.9.x-dev" } }, "autoload": { @@ -1304,24 +1644,28 @@ "docblock", "parser" ], - "time": "2019-10-01T18:55:10+00:00" + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.10.x" + }, + "time": "2020-05-25T17:24:27+00:00" }, { "name": "doctrine/instantiator", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", + "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^6.0", @@ -1360,24 +1704,42 @@ "constructor", "instantiate" ], - "time": "2019-10-21T16:45:58+00:00" + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.3.x" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-05-29T17:27:14+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", "shasum": "" }, "require": { - "php": "^7.2" + "php": "^7.2 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^6.0", @@ -1422,9 +1784,27 @@ "parser", "php" ], - "time": "2019-10-30T14:39:59+00:00" - }, - { + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { "name": "jdorn/sql-formatter", "version": "v1.2.17", "source": { @@ -1472,20 +1852,24 @@ "highlight", "sql" ], + "support": { + "issues": "https://github.com/jdorn/sql-formatter/issues", + "source": "https://github.com/jdorn/sql-formatter/tree/master" + }, "time": "2014-01-12T16:20:24+00:00" }, { "name": "justinrainbow/json-schema", - "version": "5.2.9", + "version": "5.2.10", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "44c6787311242a979fa15c704327c20e7221a0e4" + "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/44c6787311242a979fa15c704327c20e7221a0e4", - "reference": "44c6787311242a979fa15c704327c20e7221a0e4", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", "shasum": "" }, "require": { @@ -1538,7 +1922,11 @@ "json", "schema" ], - "time": "2019-09-25T14:49:45+00:00" + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10" + }, + "time": "2020-05-27T16:41:55+00:00" }, { "name": "lorenzo/piping-bag", @@ -1581,6 +1969,10 @@ } ], "description": "CakePHP 3 plugin for using Ray.Di as a Dependency Injection Container", + "support": { + "issues": "https://github.com/lorenzo/piping-bag/issues", + "source": "https://github.com/lorenzo/piping-bag/tree/master" + }, "time": "2017-05-23T18:41:18+00:00" }, { @@ -1629,20 +2021,24 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.9.5" + }, "time": "2020-01-17T21:11:47+00:00" }, { "name": "nikic/php-parser", - "version": "v4.3.0", + "version": "v4.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" + "reference": "bd43ec7152eaaab3bd8c6d0aa95ceeb1df8ee120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd43ec7152eaaab3bd8c6d0aa95ceeb1df8ee120", + "reference": "bd43ec7152eaaab3bd8c6d0aa95ceeb1df8ee120", "shasum": "" }, "require": { @@ -1681,25 +2077,29 @@ "parser", "php" ], - "time": "2019-11-08T13:50:10+00:00" + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/master" + }, + "time": "2020-04-10T16:34:50+00:00" }, { "name": "phake/phake", - "version": "v3.1.7", + "version": "v3.1.8", "source": { "type": "git", "url": "https://github.com/mlively/Phake.git", - "reference": "3b7a6db62dfe7015a480fa966967df28b3cb239d" + "reference": "9f9dfb12c9ce6e38c73de9631ea2ab0f0ea36a65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mlively/Phake/zipball/3b7a6db62dfe7015a480fa966967df28b3cb239d", - "reference": "3b7a6db62dfe7015a480fa966967df28b3cb239d", + "url": "https://api.github.com/repos/mlively/Phake/zipball/9f9dfb12c9ce6e38c73de9631ea2ab0f0ea36a65", + "reference": "9f9dfb12c9ce6e38c73de9631ea2ab0f0ea36a65", "shasum": "" }, "require": { "php": ">=7", - "sebastian/comparator": "^1.1|^2.0|^3.0" + "sebastian/comparator": "^1.1|^2.0|^3.0|^4.0" }, "require-dev": { "codeclimate/php-test-reporter": "dev-master", @@ -1739,7 +2139,11 @@ "mock", "testing" ], - "time": "2019-12-06T04:16:00+00:00" + "support": { + "issues": "https://github.com/mlively/Phake/issues", + "source": "https://github.com/mlively/Phake/tree/v3.1.8" + }, + "time": "2020-05-11T18:43:26+00:00" }, { "name": "phar-io/manifest", @@ -1794,6 +2198,10 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, "time": "2018-07-08T19:23:20+00:00" }, { @@ -1841,28 +2249,29 @@ } ], "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/master" + }, "time": "2018-07-08T19:19:57+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", "shasum": "" }, "require": { "php": ">=7.1" }, - "require-dev": { - "phpunit/phpunit": "~6" - }, "type": "library", "extra": { "branch-alias": { @@ -1893,7 +2302,11 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master" + }, + "time": "2020-04-27T09:25:28+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -1946,6 +2359,10 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.1.0" + }, "time": "2020-02-22T12:28:44+00:00" }, { @@ -1992,20 +2409,24 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/master" + }, "time": "2020-02-18T18:59:58+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.10.2", + "version": "v1.10.3", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9" + "reference": "451c3cd1418cf640de218914901e51b064abb093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b4400efc9d206e83138e2bb97ed7f5b14b831cd9", - "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", + "reference": "451c3cd1418cf640de218914901e51b064abb093", "shasum": "" }, "require": { @@ -2055,7 +2476,71 @@ "spy", "stub" ], - "time": "2020-01-20T15:57:02+00:00" + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/v1.10.3" + }, + "time": "2020-03-05T15:02:03+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "0.12.25", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "9619551d68b2d4c0d681a8df73f3c847c798ee64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9619551d68b2d4c0d681a8df73f3c847c798ee64", + "reference": "9619551d68b2d4c0d681a8df73f3c847c798ee64", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.12-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/0.12.25" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpstan", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2020-05-10T20:36:16+00:00" }, { "name": "phpunit/php-code-coverage", @@ -2118,6 +2603,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.10" + }, "time": "2019-11-20T13:55:58+00:00" }, { @@ -2168,6 +2657,10 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.2" + }, "time": "2018-09-13T20:33:42+00:00" }, { @@ -2209,6 +2702,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + }, "time": "2015-06-21T13:50:34+00:00" }, { @@ -2258,6 +2755,10 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/master" + }, "time": "2019-06-07T04:22:29+00:00" }, { @@ -2307,20 +2808,24 @@ "keywords": [ "tokenizer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.1" + }, "time": "2019-09-17T06:23:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.2", + "version": "8.5.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0" + "reference": "63dda3b212a0025d380a745f91bdb4d8c985adb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0", - "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/63dda3b212a0025d380a745f91bdb4d8c985adb7", + "reference": "63dda3b212a0025d380a745f91bdb4d8c985adb7", "shasum": "" }, "require": { @@ -2390,7 +2895,70 @@ "testing", "xunit" ], - "time": "2020-01-08T08:49:49+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.5" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-05-22T13:51:52+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.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": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" }, { "name": "psr/container", @@ -2439,29 +3007,33 @@ "container-interop", "psr" ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" + }, "time": "2017-02-14T16:28:37+00:00" }, { "name": "ray/aop", - "version": "2.9.0", + "version": "2.9.7", "source": { "type": "git", "url": "https://github.com/ray-di/Ray.Aop.git", - "reference": "82deb5cba9b69baf1e6f924c219d4b67f35148d8" + "reference": "d6db4dff38e7de003807d5b41be56dc41e561c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ray-di/Ray.Aop/zipball/82deb5cba9b69baf1e6f924c219d4b67f35148d8", - "reference": "82deb5cba9b69baf1e6f924c219d4b67f35148d8", + "url": "https://api.github.com/repos/ray-di/Ray.Aop/zipball/d6db4dff38e7de003807d5b41be56dc41e561c72", + "reference": "d6db4dff38e7de003807d5b41be56dc41e561c72", "shasum": "" }, "require": { - "doctrine/annotations": "^1.6", + "doctrine/annotations": "^1.10", "nikic/php-parser": "^4.2", - "php": ">=7.1.0" + "php": ">=7.2.0" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^8.5" }, "suggest": { "ray/di": "A dependency injection framework" @@ -2491,7 +3063,11 @@ "keywords": [ "aop" ], - "time": "2019-12-03T02:23:30+00:00" + "support": { + "issues": "https://github.com/ray-di/Ray.Aop/issues", + "source": "https://github.com/ray-di/Ray.Aop/tree/2.9.7" + }, + "time": "2020-05-30T03:52:49+00:00" }, { "name": "ray/compiler", @@ -2533,29 +3109,33 @@ "code-gen", "compiler" ], + "support": { + "issues": "https://github.com/ray-di/Ray.Compiler/issues", + "source": "https://github.com/ray-di/Ray.Compiler/tree/1.3.7" + }, "time": "2019-06-15T17:07:57+00:00" }, { "name": "ray/di", - "version": "2.10.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/ray-di/Ray.Di.git", - "reference": "dd17568be44168c6f3649b247d44dc3c59d64ab5" + "reference": "cdad41efdaf7ee4a542f5abb9dc1fa54aa34d57f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ray-di/Ray.Di/zipball/dd17568be44168c6f3649b247d44dc3c59d64ab5", - "reference": "dd17568be44168c6f3649b247d44dc3c59d64ab5", + "url": "https://api.github.com/repos/ray-di/Ray.Di/zipball/cdad41efdaf7ee4a542f5abb9dc1fa54aa34d57f", + "reference": "cdad41efdaf7ee4a542f5abb9dc1fa54aa34d57f", "shasum": "" }, "require": { - "php": ">=7.1.0", - "ray/aop": "^2.8.5", + "php": ">=7.2.0", + "ray/aop": "^2.9.3", "ray/compiler": "1.x-dev|^1.3.6" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^8.5" }, "type": "library", "autoload": { @@ -2580,7 +3160,11 @@ "di", "guice" ], - "time": "2019-12-03T10:51:34+00:00" + "support": { + "issues": "https://github.com/ray-di/Ray.Di/issues", + "source": "https://github.com/ray-di/Ray.Di/tree/2.x" + }, + "time": "2020-05-03T14:00:28+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -2625,6 +3209,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/master" + }, "time": "2017-03-04T06:30:41+00:00" }, { @@ -2689,6 +3277,10 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/master" + }, "time": "2018-07-12T15:12:46+00:00" }, { @@ -2745,6 +3337,10 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/master" + }, "time": "2019-02-04T06:01:07+00:00" }, { @@ -2798,6 +3394,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/4.2.3" + }, "time": "2019-11-20T08:46:58+00:00" }, { @@ -2865,6 +3465,10 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/master" + }, "time": "2019-09-14T09:02:43+00:00" }, { @@ -2919,6 +3523,10 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/master" + }, "time": "2019-02-01T05:30:01+00:00" }, { @@ -2966,6 +3574,10 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/master" + }, "time": "2017-08-03T12:35:26+00:00" }, { @@ -3011,6 +3623,10 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/master" + }, "time": "2017-03-29T09:07:27+00:00" }, { @@ -3064,6 +3680,10 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/master" + }, "time": "2017-03-03T06:23:57+00:00" }, { @@ -3106,6 +3726,10 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/master" + }, "time": "2018-10-04T04:07:39+00:00" }, { @@ -3152,6 +3776,10 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/master" + }, "time": "2019-07-02T08:10:15+00:00" }, { @@ -3195,24 +3823,28 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/master" + }, "time": "2016-10-03T07:35:21+00:00" }, { "name": "seld/jsonlint", - "version": "1.7.2", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19" + "reference": "ff2aa5420bfbc296cf6a0bc785fa5b35736de7c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/e2e5d290e4d2a4f0eb449f510071392e00e10d19", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/ff2aa5420bfbc296cf6a0bc785fa5b35736de7c1", + "reference": "ff2aa5420bfbc296cf6a0bc785fa5b35736de7c1", "shasum": "" }, "require": { - "php": "^5.3 || ^7.0" + "php": "^5.3 || ^7.0 || ^8.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" @@ -3244,7 +3876,21 @@ "parser", "validator" ], - "time": "2019-10-24T14:27:39+00:00" + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/master" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2020-04-30T19:05:18+00:00" }, { "name": "seld/phar-utils", @@ -3288,20 +3934,24 @@ "keywords": [ "phar" ], + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.1.0" + }, "time": "2020-02-14T15:25:33+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.5.4", + "version": "3.5.5", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "dceec07328401de6211037abbb18bda423677e26" + "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/dceec07328401de6211037abbb18bda423677e26", - "reference": "dceec07328401de6211037abbb18bda423677e26", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6", + "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6", "shasum": "" }, "require": { @@ -3339,45 +3989,53 @@ "phpcs", "standards" ], - "time": "2020-01-30T22:20:29+00:00" + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2020-04-17T01:09:41+00:00" }, { "name": "symfony/console", - "version": "v4.4.5", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "4fa15ae7be74e53f6ec8c83ed403b97e23b665e9" + "reference": "00bed125812716d09b163f0727ef33bb49bf3448" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/4fa15ae7be74e53f6ec8c83ed403b97e23b665e9", - "reference": "4fa15ae7be74e53f6ec8c83ed403b97e23b665e9", + "url": "https://api.github.com/repos/symfony/console/zipball/00bed125812716d09b163f0727ef33bb49bf3448", + "reference": "00bed125812716d09b163f0727ef33bb49bf3448", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", - "symfony/service-contracts": "^1.1|^2" + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" }, "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", "symfony/lock": "<4.4", - "symfony/process": "<3.3" + "symfony/process": "<4.4" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" }, "suggest": { "psr/log": "For using the console logger", @@ -3388,7 +4046,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -3415,38 +4073,51 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2020-02-24T13:10:00+00:00" + "support": { + "source": "https://github.com/symfony/console/tree/5.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": "2020-05-30T20:35:19+00:00" }, { - "name": "symfony/filesystem", - "version": "v4.4.5", + "name": "symfony/deprecation-contracts", + "version": "v2.1.2", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/266c9540b475f26122b61ef8b23dd9198f5d1cfd", - "reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337", + "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-ctype": "~1.8" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "2.1-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3455,44 +4126,62 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "time": "2020-01-21T08:20:44+00:00" + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.1.2" + }, + "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": "2020-05-27T08:34:37+00:00" }, { - "name": "symfony/finder", - "version": "v4.4.5", + "name": "symfony/filesystem", + "version": "v5.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ea69c129aed9fdeca781d4b77eb20b62cf5d5357" + "url": "https://github.com/symfony/filesystem.git", + "reference": "6e4320f06d5f2cce0d96530162491f4465179157" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ea69c129aed9fdeca781d4b77eb20b62cf5d5357", - "reference": "ea69c129aed9fdeca781d4b77eb20b62cf5d5357", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", + "reference": "6e4320f06d5f2cce0d96530162491f4465179157", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -3512,42 +4201,56 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2020-02-14T07:42:58+00:00" + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.1.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": "2020-05-30T20:35:19+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.14.0", + "name": "symfony/finder", + "version": "v5.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" + "url": "https://github.com/symfony/finder.git", + "reference": "4298870062bfc667cb78d2b379be4bf5dec5f187" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", - "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", + "url": "https://api.github.com/repos/symfony/finder/zipball/4298870062bfc667cb78d2b379be4bf5dec5f187", + "reference": "4298870062bfc667cb78d2b379be4bf5dec5f187", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" + "php": ">=7.2.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.14-dev" + "dev-master": "5.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Symfony\\Component\\Finder\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3556,56 +4259,87 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" + "support": { + "source": "https://github.com/symfony/finder/tree/v5.1.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": "2020-01-13T11:15:53+00:00" + "time": "2020-05-20T17:43:50+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.14.0", + "name": "symfony/http-client", + "version": "v5.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" + "url": "https://github.com/symfony/http-client.git", + "reference": "63342eabdc6fc6c12e6b18506a207d16687aa33f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", - "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", + "url": "https://api.github.com/repos/symfony/http-client/zipball/63342eabdc6fc6c12e6b18506a207d16687aa33f", + "reference": "63342eabdc6fc6c12e6b18506a207d16687aa33f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.2.5", + "psr/log": "^1.0", + "symfony/http-client-contracts": "^2.1.1", + "symfony/polyfill-php73": "^1.11", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.0|^2" }, - "suggest": { - "ext-mbstring": "For best performance" + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "1.1" + }, + "require-dev": { + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.3.1", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.14-dev" + "dev-master": "5.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Component\\HttpClient\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3622,43 +4356,435 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony HttpClient component", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "support": { + "source": "https://github.com/symfony/http-client/tree/v5.1.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": "2020-01-13T11:15:53+00:00" + "time": "2020-05-30T21:52:37+00:00" }, { - "name": "symfony/polyfill-php73", - "version": "v1.14.0", + "name": "symfony/http-client-contracts", + "version": "v2.1.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "f8bed25edc964d015bcd87f1fec5734963931910" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/5e66a0fa1070bf46bec4bea7962d285108edd675", - "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/f8bed25edc964d015bcd87f1fec5734963931910", + "reference": "f8bed25edc964d015bcd87f1fec5734963931910", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.14-dev" + "dev-master": "2.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/master" + }, + "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": "2020-05-25T17:37:45+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e94c8b1bbe2bc77507a1056cdb06451c75b427f9", + "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "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.17.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:14:59+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "e094b0770f7833fdf257e6ba4775be4e258230b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e094b0770f7833fdf257e6ba4775be4e258230b2", + "reference": "e094b0770f7833fdf257e6ba4775be4e258230b2", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.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": "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.17.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "1357b1d168eb7f68ad6a134838e46b0b159444a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/1357b1d168eb7f68ad6a134838e46b0b159444a9", + "reference": "1357b1d168eb7f68ad6a134838e46b0b159444a9", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "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.17.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:14:59+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "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.17.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a760d8964ff79ab9bf057613a5808284ec852ccc", + "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" }, "files": [ "bootstrap.php" @@ -3689,29 +4815,126 @@ "portable", "shim" ], - "time": "2020-01-13T11:15:53+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/master" + }, + "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": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/5e30b2799bc1ad68f7feb62b60a73743589438dd", + "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd", + "shasum": "" + }, + "require": { + "php": ">=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "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.17.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" }, { "name": "symfony/process", - "version": "v4.4.5", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "bf9166bac906c9e69fb7a11d94875e7ced97bcd7" + "reference": "7f6378c1fa2147eeb1b4c385856ce9de0d46ebd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/bf9166bac906c9e69fb7a11d94875e7ced97bcd7", - "reference": "bf9166bac906c9e69fb7a11d94875e7ced97bcd7", + "url": "https://api.github.com/repos/symfony/process/zipball/7f6378c1fa2147eeb1b4c385856ce9de0d46ebd1", + "reference": "7f6378c1fa2147eeb1b4c385856ce9de0d46ebd1", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -3738,24 +4961,41 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2020-02-07T20:06:44+00:00" + "support": { + "source": "https://github.com/symfony/process/tree/v5.1.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": "2020-05-30T20:35:19+00:00" }, { "name": "symfony/service-contracts", - "version": "v1.1.8", + "version": "v2.1.2", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" + "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", - "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/66a8f0957a3ca54e4f724e49028ab19d75a8918b", + "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.2.5", "psr/container": "^1.0" }, "suggest": { @@ -3764,7 +5004,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -3796,7 +5036,112 @@ "interoperability", "standards" ], - "time": "2019-10-14T12:27:06+00:00" + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.1.2" + }, + "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": "2020-05-20T17:43:50+00:00" + }, + { + "name": "symfony/string", + "version": "v5.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "90c2a5103f07feb19069379f3abdcdbacc7753a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/90c2a5103f07feb19069379f3abdcdbacc7753a9", + "reference": "90c2a5103f07feb19069379f3abdcdbacc7753a9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/5.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": "2020-05-20T17:43:50+00:00" }, { "name": "theseer/tokenizer", @@ -3836,20 +5181,24 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, "time": "2019-06-13T22:48:21+00:00" }, { "name": "webmozart/assert", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "aed98a490f9a8f78468232db345ab9cf606cf598" + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598", - "reference": "aed98a490f9a8f78468232db345ab9cf606cf598", + "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", "shasum": "" }, "require": { @@ -3857,7 +5206,7 @@ "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "vimeo/psalm": "<3.6.0" + "vimeo/psalm": "<3.9.1" }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" @@ -3884,19 +5233,26 @@ "check", "validate" ], - "time": "2020-02-14T12:15:55+00:00" + "support": { + "issues": "https://github.com/webmozart/assert/issues", + "source": "https://github.com/webmozart/assert/tree/master" + }, + "time": "2020-04-18T12:12:48+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "league/flysystem": 15 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.2" + "php": "^7.2.5" }, "platform-dev": [], "platform-overrides": { - "php": "7.2" - } + "php": "7.2.5" + }, + "plugin-api-version": "2.0.0" } diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..8788216 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,4 @@ +includes: + - vendor/phpstan/phpstan/conf/bleedingEdge.neon +parameters: + level: 5 \ No newline at end of file diff --git a/src/Controller/FilesystemPanelController.php b/src/Controller/FilesystemPanelController.php index 741d44a..a0f830a 100644 --- a/src/Controller/FilesystemPanelController.php +++ b/src/Controller/FilesystemPanelController.php @@ -4,7 +4,7 @@ use Cake\Controller\Controller; use Cake\Core\Configure; -use Cake\Event\Event; +use Cake\Event\EventInterface; use Cake\Http\Exception\NotFoundException; use WyriHaximus\FlyPie\FilesystemsTrait; @@ -19,13 +19,13 @@ class FilesystemPanelController extends Controller /** * Before filter handler. * - * @param \Cake\Event\Event $event The event. + * @param \Cake\Event\EventInterface $event The event. * * @return void * * @throws \Cake\Http\Exception\NotFoundException Throw no found when debug is disabled. */ - public function beforeFilter(Event $event) + public function beforeFilter(EventInterface $event) { // TODO add config override. if (!Configure::read('debug')) { diff --git a/src/Di/FilesystemProvider.php b/src/Di/FilesystemProvider.php index 279b521..68eecc7 100644 --- a/src/Di/FilesystemProvider.php +++ b/src/Di/FilesystemProvider.php @@ -21,7 +21,7 @@ public function __construct(InjectionPointInterface $ip) } /** - * @return \League\Flysystem\FilesystemInterface + * @return \League\Flysystem\Filesystem * @throws \Exception */ public function get() diff --git a/src/Factory/AwsS3AdapterFactory.php b/src/Factory/AwsS3AdapterFactory.php index 01d1e45..be399a4 100644 --- a/src/Factory/AwsS3AdapterFactory.php +++ b/src/Factory/AwsS3AdapterFactory.php @@ -2,8 +2,8 @@ namespace WyriHaximus\FlyPie\Factory; -use Aws\S3\S3Client; -use League\Flysystem\AwsS3v3\AwsS3Adapter; +use AsyncAws\Flysystem\S3\S3FilesystemV2; +use AsyncAws\S3\S3Client; class AwsS3AdapterFactory { @@ -12,7 +12,7 @@ class AwsS3AdapterFactory * * @param array $config list of options parsed from dsn * - * @return \League\Flysystem\AdapterInterface|bool + * @return \League\Flysystem\FilesystemAdapter|bool */ public static function client($config) { @@ -21,14 +21,11 @@ public static function client($config) ]; $config += $defaults; $client = new S3Client([ - 'credentials' => [ - 'key' => $config['username'], - 'secret' => $config['password'], - ], + 'accessKeyId' => $config['username'], + 'accessKeySecret' => $config['password'], 'region' => $config['region'], - 'version' => $config['version'], ]); - return new AwsS3Adapter($client, $config['host'], $config['path']); + return new S3FilesystemV2($client, $config['host'], $config['path']); } } diff --git a/src/FilesystemRegistry.php b/src/FilesystemRegistry.php index f61d440..b2c7107 100644 --- a/src/FilesystemRegistry.php +++ b/src/FilesystemRegistry.php @@ -1,37 +1,39 @@ 'WyriHaximus\FlyPie\Factory\AwsS3AdapterFactory', ]; // @codingStandardsIgnoreEnd + /** + * Adapter class cache. + * + * @var array + */ + public static $adapterClasses = []; + /** * Instance cache. * @@ -44,12 +46,14 @@ class FilesystemRegistry * * @param string $alias The alias chosen for the adapter we want. * - * @return \League\Flysystem\FilesystemInterface + * @return \League\Flysystem\Filesystem */ public static function retrieve($alias) { if (!isset(static::$instances[$alias])) { - static::$instances[$alias] = static::addPlugins(new Filesystem(static::create($alias))); + $adapter = static::create($alias); + static::$adapterClasses[$alias] = get_class($adapter); + static::$instances[$alias] = new Filesystem($adapter); } return static::$instances[$alias]; @@ -63,6 +67,7 @@ public static function retrieve($alias) public static function reset() { static::$instances = []; + static::$adapterClasses = []; } /** @@ -72,7 +77,7 @@ public static function reset() * * @throws \InvalidArgumentException Thrown when no matching configuration is found. * - * @return \League\Flysystem\AdapterInterface + * @return \League\Flysystem\FilesystemAdapter */ protected static function create($alias) { @@ -110,7 +115,7 @@ protected static function create($alias) protected static function existsAndInstanceOf($aliasConfigKey) { return Configure::check($aliasConfigKey . '.client') && - Configure::read($aliasConfigKey . '.client') instanceof AdapterInterface; + Configure::read($aliasConfigKey . '.client') instanceof FilesystemAdapter; } /** @@ -183,7 +188,7 @@ protected static function factory($factory) * * @throws \InvalidArgumentException Thrown when the given adapter class doesn't exists. * - * @return \League\Flysystem\AdapterInterface + * @return \League\Flysystem\FilesystemAdapter */ protected static function adapter($adapter, array $vars) { @@ -191,12 +196,17 @@ protected static function adapter($adapter, array $vars) return (new \ReflectionClass($adapter))->newInstanceArgs($vars); } - $leagueAdapter = '\\League\\Flysystem\\Adapter\\' . $adapter; + $leagueAdapter = '\\League\\Flysystem\\' . $adapter . '\\' . $adapter . 'Adapter'; if (class_exists($leagueAdapter)) { return (new \ReflectionClass($leagueAdapter))->newInstanceArgs($vars); } - $leagueAdapter = '\\League\\Flysystem\\' . $adapter . '\\' . $adapter . 'Adapter'; + $leagueAdapter = '\\League\\Flysystem\\' . $adapter . '\\' . $adapter . 'Filesystem'; + if (class_exists($leagueAdapter)) { + return (new \ReflectionClass($leagueAdapter))->newInstanceArgs($vars); + } + + $leagueAdapter = '\\League\\Flysystem\\' . $adapter . '\\' . $adapter . 'FilesystemAdapter'; if (class_exists($leagueAdapter)) { return (new \ReflectionClass($leagueAdapter))->newInstanceArgs($vars); } @@ -211,7 +221,7 @@ protected static function adapter($adapter, array $vars) * * @throws \InvalidArgumentException Thrown when the given adapter class doesn't exists. * - * @return \League\Flysystem\AdapterInterface + * @return \League\Flysystem\FilesystemAdapter */ protected static function adapterFromDsn(string $dsn) { @@ -223,27 +233,4 @@ protected static function adapterFromDsn(string $dsn) return $vars['className']::client($vars); } - - /** - * Add default plugins to filesystem - * - * @param \League\Flysystem\FilesystemInterface $filesystem The filesystem. - * - * @return \League\Flysystem\FilesystemInterface - */ - protected static function addPlugins(FilesystemInterface $filesystem) - { - foreach ([ - new EmptyDir(), - new GetWithMetadata(), - new ListFiles(), - new ListPaths(), - new ListWith(), - ] as $plugin) { - $plugin->setFilesystem($filesystem); - $filesystem->addPlugin($plugin); - } - - return $filesystem; - } } diff --git a/src/FilesystemsTrait.php b/src/FilesystemsTrait.php index 4c6e615..fbfdec9 100644 --- a/src/FilesystemsTrait.php +++ b/src/FilesystemsTrait.php @@ -9,7 +9,7 @@ trait FilesystemsTrait * * @param string $alias Alias name requested. * - * @return \League\Flysystem\FilesystemInterface + * @return \League\Flysystem\Filesystem */ public function filesystem($alias) { diff --git a/src/Panel/FilesystemPanel.php b/src/Panel/FilesystemPanel.php index d8fd975..2cbdb1e 100644 --- a/src/Panel/FilesystemPanel.php +++ b/src/Panel/FilesystemPanel.php @@ -27,10 +27,20 @@ public function data() ]; foreach ($data['filesystems'] as $filesystem) { - $instance = FilesystemRegistry::retrieve($filesystem); - $data['classes'][$filesystem] = get_class($instance->getAdapter()); + FilesystemRegistry::retrieve($filesystem); + $data['classes'][$filesystem] = FilesystemRegistry::$adapterClasses[$filesystem]; } return $data; } + + /** + * Gets the initial text for the filesystem summary + * + * @return string + */ + public function summary() + { + return strval(count((array)Configure::read(self::CONFIGURE_KEY))); + } } diff --git a/tests/FilesystemsRegistryTest.php b/tests/FilesystemsRegistryTest.php index cf3dc90..f102429 100644 --- a/tests/FilesystemsRegistryTest.php +++ b/tests/FilesystemsRegistryTest.php @@ -19,7 +19,7 @@ public function setUp(): void FilesystemRegistry::reset(); $this->callbackFired = false; $GLOBALS['THIS_callbackFiredStatic'] = false; - $GLOBALS['THIS'] = $this->createMock('League\Flysystem\AdapterInterface'); + $GLOBALS['THIS'] = $this->createMock('League\Flysystem\FilesystemAdapter'); } public function tearDown(): void @@ -47,7 +47,7 @@ public function testRetrieve() public function testRetrieveClient() { Configure::write('WyriHaximus.FlyPie.existing', [ - 'client' => $this->createMock('League\Flysystem\AdapterInterface'), + 'client' => $this->createMock('League\Flysystem\FilesystemAdapter'), ]); $this->assertInstanceOf('League\Flysystem\Filesystem', FilesystemRegistry::retrieve('existing')); } @@ -57,7 +57,7 @@ public function testRetrieveFactoryCallback() $callbackFired = false; $callback = function () use (&$callbackFired) { $callbackFired = true; - return $this->createMock('League\Flysystem\AdapterInterface'); + return $this->createMock('League\Flysystem\FilesystemAdapter'); }; Configure::write('WyriHaximus.FlyPie.existing', [ 'factory' => $callback, @@ -78,7 +78,7 @@ public function testRetrieveFactoryStringArray() public function retrieveFactoryStringArrayChecker() { $this->callbackFired = true; - return $this->createMock('League\Flysystem\AdapterInterface'); + return $this->createMock('League\Flysystem\FilesystemAdapter'); } public function testRetrieveFactoryStringStatic() @@ -95,7 +95,7 @@ public function testRetrieveFactoryEvent() $callbackFired = false; $callback = function () use (&$callbackFired) { $callbackFired = true; - return $this->createMock('League\Flysystem\AdapterInterface'); + return $this->createMock('League\Flysystem\FilesystemAdapter'); }; EventManager::instance()->on('WyriHaximus.Tests.FlyPie.existing', [], $callback); Configure::write('WyriHaximus.FlyPie.existing', [ @@ -129,7 +129,7 @@ public function testRetrieveAdapter() public function testRetrieveAdapterFQCN() { Configure::write('WyriHaximus.FlyPie.existing', [ - 'adapter' => '\\League\\Flysystem\\Adapter\\Local', + 'adapter' => '\\League\\Flysystem\\Local\\LocalFilesystemAdapter', 'vars' => [ __DIR__, ], diff --git a/tests/FunctionalTest.php b/tests/FunctionalTest.php index e99dc71..9341816 100644 --- a/tests/FunctionalTest.php +++ b/tests/FunctionalTest.php @@ -22,8 +22,8 @@ public function testRetrieve() __DIR__, ], ]); - $contents = FilesystemRegistry::retrieve('tests')->listContents(); - $this->assertSame([ + $contents = FilesystemRegistry::retrieve('tests')->listContents(''); + $this->assertEqualsCanonicalizing([ 'bootstrap.php', 'FilesystemsRegistryTest.php', 'FilesystemsTraitTest.php', @@ -31,6 +31,6 @@ public function testRetrieve() 'functions.php', ], array_map(function ($file) { return $file['path']; - }, $contents)); + }, iterator_to_array($contents))); } }