From 702a7285932462907fea0e5eb410ab1719715a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Rozs=C3=ADval?= Date: Wed, 21 Oct 2020 11:40:05 +0200 Subject: [PATCH 1/2] Migrate to latest major versions --- .travis.yml | 2 +- Makefile | 64 + build.xml | 154 -- codesniffer-ruleset.xml | 2 +- composer.json | 14 +- composer.lock | 1869 +++++++++++------ phpunit.xml | 46 +- src/Utils/Arrays.php | 22 + src/Utils/DOM/DataAttribute.php | 11 +- src/Utils/Encoding.php | 1 + src/Utils/ExternalProgram/Executor.php | 2 + src/Utils/ExternalProgram/Result.php | 1 + src/Utils/File.php | 24 +- src/Utils/FileInfo.php | 10 + src/Utils/Finder.php | 2 + src/Utils/ImageInfo.php | 15 +- src/Utils/InvalidState.php | 4 +- src/Utils/Json.php | 4 + src/Utils/Maintenance.php | 3 + src/Utils/Objects.php | 8 + src/Utils/Path.php | 20 +- src/Utils/SerialNumber.php | 9 +- src/Utils/SerialNumberInvalidMask.php | 4 +- src/Utils/Server.php | 4 + src/Utils/Strings.php | 14 + src/Utils/Tokenizer/Tokenizer.php | 7 + src/Utils/Validators.php | 7 + src/Utils/Zip/ZipArchive.php | 4 + src/Utils/Zip/ZipArchiveItem.php | 1 + tests/UtilsTests/ArraysTest.php | 26 +- .../ExternalProgram/ExecutorTest.php | 3 +- tests/UtilsTests/FinderTest.php | 19 +- tests/UtilsTests/ImageInfoTest.php | 1 + tests/UtilsTests/JsonTest.php | 1 + tests/UtilsTests/ServerTest.php | 1 + tests/UtilsTests/Tokenizer/TokenizerTest.php | 40 +- tests/UtilsTests/ValidatorsTest.php | 1 + 37 files changed, 1501 insertions(+), 919 deletions(-) create mode 100644 Makefile delete mode 100644 build.xml diff --git a/.travis.yml b/.travis.yml index 36af3d6..3647add 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ before_script: jobs: include: - - script: composer phing ci + - script: make ci cache: directories: diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e2fea70 --- /dev/null +++ b/Makefile @@ -0,0 +1,64 @@ +bin=vendor/bin +chrome:=$(shell command -v google-chrome 2>/dev/null) +codeSnifferRuleset=codesniffer-ruleset.xml +coverage=$(temp)/coverage +coverageClover=$(coverage)/coverage.xml +php=php +src=src +temp=temp +tests=tests +dirs:=$(src) $(tests) + +all: + @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' + +# Setup + +composer: + composer install + +reset: + rm -rf $(temp)/cache + composer dumpautoload + +di: reset + bin/extract-services + +fix: reset check-syntax phpcbf phpcs phpstan test + +# QA + +check-syntax: + $(bin)/parallel-lint -e $(php) $(dirs) + +phpcs: + $(bin)/phpcs -sp --standard=$(codeSnifferRuleset) --extensions=php $(dirs) + +phpcbf: + $(bin)/phpcbf -spn --standard=$(codeSnifferRuleset) --extensions=php $(dirs) ; true + +phpstan: + $(bin)/phpstan analyze $(dirs) --level max + +# Tests + +test: + $(bin)/phpunit + +test-coverage: reset + $(bin)/phpunit --coverage-html=$(coverage) + +test-coverage-clover: reset + $(bin)/phpunit --coverage-clover=$(coverageClover) + +test-coverage-report: test-coverage-clover + $(bin)/php-coveralls --coverage_clover=$(coverageClover) --verbose + +test-coverage-open: test-coverage +ifndef chrome + open -a 'Google Chrome' $(coverage)/index.html +else + google-chrome $(coverage)/index.html +endif + +ci: check-syntax phpcs phpstan test-coverage-report diff --git a/build.xml b/build.xml deleted file mode 100644 index a71afa5..0000000 --- a/build.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codesniffer-ruleset.xml b/codesniffer-ruleset.xml index 39c182a..8bd48af 100644 --- a/codesniffer-ruleset.xml +++ b/codesniffer-ruleset.xml @@ -1,6 +1,6 @@ - + diff --git a/composer.json b/composer.json index 9198441..2fc351e 100644 --- a/composer.json +++ b/composer.json @@ -34,27 +34,21 @@ "sort-packages": true }, "require": { + "php": ">=7.4", "ext-fileinfo": "*", "ext-iconv": "*", "ext-json": "*", "ext-zip": "*", - "flow/jsonpath": "^0.4.0", "nette/finder": "^2.5", "nette/utils": "^3.1", - "php": ">=7.4" + "softcreatr/jsonpath": "^0.6.4" }, "require-dev": { - "php-parallel-lint/php-parallel-lint": "^1.0", "mikey179/vfsstream": "^1.6", - "phing/phing": "^3.0-alpha3", "php-coveralls/php-coveralls": "^2.1", "php-mock/php-mock-phpunit": "^2.4", - "phpstan/phpstan": "^0.12.3", - "phpunit/phpunit": "^8.3", - "wavevision/coding-standard": "^3.0" - }, - "scripts": { - "phing": "phing" + "phpunit/phpunit": "^9.4", + "wavevision/coding-standard": "^5.2" }, "extra": { "phpstan": {} diff --git a/composer.lock b/composer.lock index 57041b0..192d065 100644 --- a/composer.lock +++ b/composer.lock @@ -4,49 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "36d61de60cb88972d709a7f5af2c8831", + "content-hash": "351c57d918cd593e53deb42ab55fc3f1", "packages": [ - { - "name": "flow/jsonpath", - "version": "0.4.0", - "source": { - "type": "git", - "url": "https://github.com/FlowCommunications/JSONPath.git", - "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FlowCommunications/JSONPath/zipball/f0222818d5c938e4ab668ab2e2c079bd51a27112", - "reference": "f0222818d5c938e4ab668ab2e2c079bd51a27112", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "peekmo/jsonpath": "dev-master", - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Flow\\JSONPath": "src/", - "Flow\\JSONPath\\Test": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stephen Frank", - "email": "stephen@flowsa.com" - } - ], - "description": "JSONPath implementation for parsing, searching and flattening arrays", - "time": "2018-03-04T16:39:47+00:00" - }, { "name": "nette/finder", "version": "v2.5.2", @@ -112,16 +71,16 @@ }, { "name": "nette/utils", - "version": "v3.1.2", + "version": "v3.1.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "488f58378bba71767e7831c83f9e0fa808bf83b9" + "reference": "c09937fbb24987b2a41c6022ebe84f4f1b8eec0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/488f58378bba71767e7831c83f9e0fa808bf83b9", - "reference": "488f58378bba71767e7831c83f9e0fa808bf83b9", + "url": "https://api.github.com/repos/nette/utils/zipball/c09937fbb24987b2a41c6022ebe84f4f1b8eec0f", + "reference": "c09937fbb24987b2a41c6022ebe84f4f1b8eec0f", "shasum": "" }, "require": { @@ -186,10 +145,133 @@ "utility", "validation" ], - "time": "2020-05-27T09:58:51+00:00" + "time": "2020-08-07T10:34:21+00:00" + }, + { + "name": "softcreatr/jsonpath", + "version": "0.6.4", + "source": { + "type": "git", + "url": "https://github.com/SoftCreatR/JSONPath.git", + "reference": "79da94b863743ec1fbf22127580d88e34f0146c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/79da94b863743ec1fbf22127580d88e34f0146c3", + "reference": "79da94b863743ec1fbf22127580d88e34f0146c3", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.1 || <8.1" + }, + "replace": { + "flow/jsonpath": "*" + }, + "require-dev": { + "phpunit/phpunit": "<7.0 || >= 10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Flow\\JSONPath\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stephen Frank", + "email": "stephen@flowsa.com", + "homepage": "https://prismaticbytes.com", + "role": "Developer" + }, + { + "name": "Sascha Greuel", + "email": "hello@1-2.dev", + "homepage": "http://1-2.dev", + "role": "Developer" + } + ], + "description": "JSONPath implementation for parsing, searching and flattening arrays", + "funding": [ + { + "url": "https://github.com/softcreatr", + "type": "github" + } + ], + "time": "2020-10-18T06:35:49+00:00" } ], "packages-dev": [ + { + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v0.7.0", + "source": { + "type": "git", + "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", + "reference": "e8d808670b8f882188368faaf1144448c169c0b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/e8d808670b8f882188368faaf1144448c169c0b7", + "reference": "e8d808670b8f882188368faaf1144448c169c0b7", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2 || ^3 || 4.0.x-dev" + }, + "require-dev": { + "composer/composer": "*", + "phpcompatibility/php-compatibility": "^9.0", + "sensiolabs/security-checker": "^4.1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + }, + "autoload": { + "psr-4": { + "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" + } + ], + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "time": "2020-06-25T14:57:39+00:00" + }, { "name": "doctrine/instantiator", "version": "1.3.1", @@ -262,37 +344,43 @@ }, { "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "version": "7.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79", + "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "guzzlehttp/promises": "^1.4", + "guzzlehttp/psr7": "^1.7", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", "psr/log": "^1.1" }, "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5-dev" + "dev-master": "7.1-dev" } }, "autoload": { @@ -312,6 +400,11 @@ "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "Guzzle is a PHP HTTP client library", @@ -322,30 +415,50 @@ "framework", "http", "http client", + "psr-18", + "psr-7", "rest", "web service" ], - "time": "2020-06-16T21:01:06+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + } + ], + "time": "2020-10-10T11:47:56+00:00" }, { "name": "guzzlehttp/promises", - "version": "v1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + "reference": "60d379c243457e073cff02bc323a2a86cb355631" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631", + "reference": "60d379c243457e073cff02bc323a2a86cb355631", "shasum": "" }, "require": { - "php": ">=5.5.0" + "php": ">=5.5" }, "require-dev": { - "phpunit/phpunit": "^4.0" + "symfony/phpunit-bridge": "^4.4 || ^5.1" }, "type": "library", "extra": { @@ -376,20 +489,20 @@ "keywords": [ "promise" ], - "time": "2016-12-20T10:07:11+00:00" + "time": "2020-09-30T07:37:28+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.6.1", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a" + "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3", + "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3", "shasum": "" }, "require": { @@ -402,15 +515,15 @@ }, "require-dev": { "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" }, "suggest": { - "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -447,43 +560,7 @@ "uri", "url" ], - "time": "2019-07-01T23:21:34+00:00" - }, - { - "name": "mehr-als-nix/parallel", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/MehrAlsNix/Parallel.git", - "reference": "14a71eb1a8f851108bed4a5b32d1c1027976e8f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MehrAlsNix/Parallel/zipball/14a71eb1a8f851108bed4a5b32d1c1027976e8f3", - "reference": "14a71eb1a8f851108bed4a5b32d1c1027976e8f3", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "^6.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "MehrAlsNix\\Parallel\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "siad007", - "email": "siad.ardroumli@gmail.com" - } - ], - "description": "This package is a port of PhpDumentor/Parallel", - "time": "2017-12-10T12:33:51+00:00" + "time": "2020-09-30T07:37:11+00:00" }, { "name": "mikey179/vfsstream", @@ -533,20 +610,20 @@ }, { "name": "myclabs/deep-copy", - "version": "1.9.5", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" + "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", - "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", + "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "replace": { "myclabs/deep-copy": "self.version" @@ -577,38 +654,49 @@ "object", "object graph" ], - "time": "2020-01-17T21:11:47+00:00" + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-06-29T13:22:24+00:00" }, { - "name": "phar-io/manifest", - "version": "1.0.3", + "name": "nikic/php-parser", + "version": "v4.10.2", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "658f1be311a230e0907f5dfe0213742aff0596de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de", + "reference": "658f1be311a230e0907f5dfe0213742aff0596de", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.9-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -616,42 +704,43 @@ ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" + "name": "Nikita Popov" } ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2020-09-26T10:30:38+00:00" }, { - "name": "phar-io/version", + "name": "phar-io/manifest", "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "url": "https://github.com/phar-io/manifest.git", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -678,136 +767,75 @@ "role": "Developer" } ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2020-06-27T14:33:11+00:00" }, { - "name": "phing/phing", - "version": "3.0.0a3", + "name": "phar-io/version", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/phingofficial/phing.git", - "reference": "ef6ec07ee9b8931f44ca64803c3debcb0e52b5dd" + "url": "https://github.com/phar-io/version.git", + "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phingofficial/phing/zipball/ef6ec07ee9b8931f44ca64803c3debcb0e52b5dd", - "reference": "ef6ec07ee9b8931f44ca64803c3debcb0e52b5dd", + "url": "https://api.github.com/repos/phar-io/version/zipball/c6bb6825def89e0a32220f88337f8ceaf1975fa0", + "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0", "shasum": "" }, "require": { - "mehr-als-nix/parallel": "^v1.0", - "php": "^7.1.3", - "sebastian/version": "^2.0", - "symfony/console": "^2.8 || ^3.0 || ^4.0", - "symfony/yaml": "^2.8 || ^3.1 || ^4.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.32", - "ext-pdo_sqlite": "*", - "jawira/plantuml-encoding": "^1.0", - "mikey179/vfsstream": "^1.6", - "pdepend/pdepend": "^2.5", - "pear/archive_tar": "1.4.7", - "pear/http_request2": "^2.3", - "pear/net_growl": "dev-trunk", - "pear/pear-core-minimal": "1.10.9", - "pear/versioncontrol_git": "@dev", - "pear/versioncontrol_svn": "~0.5", - "phpdocumentor/phpdocumentor": "2.x", - "phploc/phploc": "^4.0", - "phpmd/phpmd": "~2.6", - "phpunit/phpunit": "^7.3 || ^8.0", - "scssphp/scssphp": "~1.0", - "sebastian/phpcpd": "^4.1", - "siad007/versioncontrol_hg": "^1.0", - "squizlabs/php_codesniffer": "^2.9 || ^3.4", - "symfony/stopwatch": "~2.3", - "tedivm/jshrink": "^1.3" - }, - "suggest": { - "aws/aws-sdk-php": "AWS SDK used by S3*Tasks", - "jawira/plantuml-encoding": "Required by VisualizerTask", - "pdepend/pdepend": "PHP version of JDepend", - "pear/archive_tar": "Tar file management class", - "pear/versioncontrol_git": "A library that provides OO interface to handle Git repository", - "pear/versioncontrol_svn": "A simple OO-style interface for Subversion, the free/open-source version control system", - "phpdocumentor/phpdocumentor": "Documentation Generator for PHP", - "phploc/phploc": "A tool for quickly measuring the size of a PHP project", - "phpmd/phpmd": "PHP version of PMD tool", - "phpunit/php-code-coverage": "Library that provides collection, processing, and rendering functionality for PHP code coverage information", - "phpunit/phpunit": "The PHP Unit Testing Framework", - "scssphp/scssphp": "A compiler for SCSS written in PHP, used by SassTask", - "sebastian/phpcpd": "Copy/Paste Detector (CPD) for PHP code", - "siad007/versioncontrol_hg": "A library for interfacing with Mercurial repositories.", - "symfony/stopwatch": "Needed by the StopwatchTask", - "tedivm/jshrink": "Javascript Minifier built in PHP" + "php": "^7.2 || ^8.0" }, - "bin": [ - "bin/phing" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, "autoload": { "classmap": [ - "classes/phing/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "classes" - ], "license": [ - "LGPL-3.0-only" + "BSD-3-Clause" ], "authors": [ { - "name": "Michiel Rook", - "email": "mrook@php.net" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" }, { - "name": "Phing Community", - "homepage": "https://github.com/phingofficial/phing/blob/master/CREDITS.md" + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" } ], - "description": "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.", - "homepage": "https://www.phing.info/", - "keywords": [ - "ant", - "build", - "build-automation", - "build-tool", - "make", - "phing", - "php", - "task", - "tool" - ], - "time": "2019-09-13T07:12:28+00:00" + "description": "Library for handling version information and constraints", + "time": "2020-06-27T14:39:04+00:00" }, { "name": "php-coveralls/php-coveralls", - "version": "v2.2.0", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/php-coveralls/php-coveralls.git", - "reference": "3e6420fa666ef7bae5e750ddeac903153e193bae" + "reference": "c3f682e7cd50191ce0a9c396bc4dee8cbcf05383" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/3e6420fa666ef7bae5e750ddeac903153e193bae", - "reference": "3e6420fa666ef7bae5e750ddeac903153e193bae", + "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/c3f682e7cd50191ce0a9c396bc4dee8cbcf05383", + "reference": "c3f682e7cd50191ce0a9c396bc4dee8cbcf05383", "shasum": "" }, "require": { "ext-json": "*", "ext-simplexml": "*", - "guzzlehttp/guzzle": "^6.0", - "php": "^5.5 || ^7.0", + "guzzlehttp/guzzle": "^6.0 || ^7.0", + "php": "^5.5 || ^7.0 || ^8.0", "psr/log": "^1.0", "symfony/config": "^2.1 || ^3.0 || ^4.0 || ^5.0", "symfony/console": "^2.1 || ^3.0 || ^4.0 || ^5.0", @@ -815,7 +843,8 @@ "symfony/yaml": "^2.0.5 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0" + "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "sanmai/phpunit-legacy-adapter": "^6.1 || ^8.0" }, "suggest": { "symfony/http-kernel": "Allows Symfony integration" @@ -824,11 +853,6 @@ "bin/php-coveralls" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, "autoload": { "psr-4": { "PhpCoveralls\\": "src/" @@ -870,7 +894,7 @@ "github", "test" ], - "time": "2019-11-20T16:29:20+00:00" + "time": "2020-10-05T23:08:28+00:00" }, { "name": "php-mock/php-mock", @@ -1098,25 +1122,25 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", - "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=7.1" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -1143,32 +1167,31 @@ "reflection", "static analysis" ], - "time": "2020-04-27T09:25:28+00:00" + "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.1.0", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", - "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { - "ext-filter": "^7.1", - "php": "^7.2", - "phpdocumentor/reflection-common": "^2.0", - "phpdocumentor/type-resolver": "^1.0", - "webmozart/assert": "^1" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "doctrine/instantiator": "^1", - "mockery/mockery": "^1" + "mockery/mockery": "~1.3.2" }, "type": "library", "extra": { @@ -1196,34 +1219,33 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-02-22T12:28:44+00:00" + "time": "2020-09-03T19:13:55+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.1.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "7462d5f123dfc080dfdf26897032a6513644fc95" + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", - "reference": "7462d5f123dfc080dfdf26897032a6513644fc95", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "shasum": "" }, "require": { - "php": "^7.2", + "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "^7.2", - "mockery/mockery": "~1" + "ext-tokenizer": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { @@ -1242,37 +1264,37 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-02-18T18:59:58+00:00" + "time": "2020-09-17T18:55:26+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.10.3", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "451c3cd1418cf640de218914901e51b064abb093" + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", - "reference": "451c3cd1418cf640de218914901e51b064abb093", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5 || ^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0 <9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10.x-dev" + "dev-master": "1.11.x-dev" } }, "autoload": { @@ -1305,24 +1327,24 @@ "spy", "stub" ], - "time": "2020-03-05T15:02:03+00:00" + "time": "2020-09-29T09:10:42+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "0.4.4", + "version": "0.4.9", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "d8d9d4645379e677466d407034436bb155b11c65" + "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/d8d9d4645379e677466d407034436bb155b11c65", - "reference": "d8d9d4645379e677466d407034436bb155b11c65", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/98a088b17966bdf6ee25c8a4b634df313d8aa531", + "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531", "shasum": "" }, "require": { - "php": "~7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { "consistence/coding-standard": "^3.5", @@ -1330,7 +1352,7 @@ "jakub-onderka/php-parallel-lint": "^0.9.2", "phing/phing": "^2.16.0", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.19", + "phpstan/phpstan": "^0.12.26", "phpstan/phpstan-strict-rules": "^0.12", "phpunit/phpunit": "^6.3", "slevomat/coding-standard": "^4.7.2", @@ -1354,24 +1376,24 @@ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", - "time": "2020-04-13T16:28:46+00:00" + "time": "2020-08-03T20:32:43+00:00" }, { "name": "phpstan/phpstan", - "version": "0.12.29", + "version": "0.12.50", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "9771daaf6b95c6313b908d0bcdee0afcd51f838a" + "reference": "b8248f9c81265af75d6d969ca3252aaf3e998f3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9771daaf6b95c6313b908d0bcdee0afcd51f838a", - "reference": "9771daaf6b95c6313b908d0bcdee0afcd51f838a", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b8248f9c81265af75d6d969ca3252aaf3e998f3a", + "reference": "b8248f9c81265af75d6d969ca3252aaf3e998f3a", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -1410,44 +1432,48 @@ "type": "tidelift" } ], - "time": "2020-06-14T14:10:59+00:00" + "time": "2020-10-16T12:22:23+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.10", + "version": "9.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" + "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/53a4b737e83be724efd2bc4e7b929b9a30c48972", + "reference": "53a4b737e83be724efd2bc4e7b929b9a30c48972", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.8", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^8.2.2" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.7.2" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -1473,32 +1499,38 @@ "testing", "xunit" ], - "time": "2019-11-20T13:55:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-02T03:37:32+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.2", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1523,26 +1555,44 @@ "filesystem", "iterator" ], - "time": "2018-09-13T20:33:42+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -1559,37 +1609,43 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "template" + "process" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2015-06-21T13:50:34+00:00" + "time": "2020-09-28T05:58:55+00:00" }, { - "name": "phpunit/php-timer", - "version": "2.1.2", + "name": "phpunit/php-text-template", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "18c887016e60e52477e54534956d7b47bc52cd84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/18c887016e60e52477e54534956d7b47bc52cd84", + "reference": "18c887016e60e52477e54534956d7b47bc52cd84", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1608,38 +1664,43 @@ "role": "lead" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "timer" + "template" ], - "time": "2019-06-07T04:22:29+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:03:05+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "3.1.1", + "name": "phpunit/php-timer", + "version": "5.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/c9ff14f493699e2f6adee9fd06a0245b276643b7", + "reference": "c9ff14f493699e2f6adee9fd06a0245b276643b7", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -1654,64 +1715,74 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "tokenizer" + "timer" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2019-09-17T06:23:10+00:00" + "time": "2020-09-28T06:00:25+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.6", + "version": "9.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348" + "reference": "3866b2eeeed21b1b099c4bc0b7a1690ac6fd5baa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348", - "reference": "3f9c4079d1407cd84c51c02c6ad1df6ec2ed1348", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3866b2eeeed21b1b099c4bc0b7a1690ac6fd5baa", + "reference": "3866b2eeeed21b1b099c4bc0b7a1690ac6fd5baa", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.2.0", + "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.1", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.2", - "phpspec/prophecy": "^1.8.1", - "phpunit/php-code-coverage": "^7.0.7", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.1", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -1719,12 +1790,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "9.4-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1755,7 +1829,7 @@ "type": "github" } ], - "time": "2020-06-15T10:45:47+00:00" + "time": "2020-10-19T09:23:29+00:00" }, { "name": "psr/container", @@ -1806,6 +1880,55 @@ ], "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "time": "2020-06-29T06:28:15+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -1944,29 +2067,133 @@ "time": "2019-03-08T08:55:37+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", + "name": "sebastian/cli-parser", "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/59236be62b1bb9919e6d7f60b0b832dc05cef9ab", + "reference": "59236be62b1bb9919e6d7f60b0b832dc05cef9ab", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-02T14:47:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1986,34 +2213,40 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.2", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + "reference": "7a8ff306445707539c1a6397372a982a1ec55120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7a8ff306445707539c1a6397372a982a1ec55120", + "reference": "7a8ff306445707539c1a6397372a982a1ec55120", "shasum": "" }, "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2026,6 +2259,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -2037,10 +2274,6 @@ { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" } ], "description": "Provides the functionality to compare PHP values for equality", @@ -2050,33 +2283,39 @@ "compare", "equality" ], - "time": "2018-07-12T15:12:46+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-30T06:47:25+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.2", + "name": "sebastian/complexity", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ba8cc2da0c0bfbc813d03b56406734030c7f1eff", + "reference": "ba8cc2da0c0bfbc813d03b56406734030c7f1eff", "shasum": "" }, "require": { - "php": "^7.1" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2090,12 +2329,65 @@ ], "authors": [ { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:05:03+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ffc949a1a2aae270ea064453d7535b82e4c32092", + "reference": "ffc949a1a2aae270ea064453d7535b82e4c32092", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], "description": "Diff implementation", @@ -2106,27 +2398,33 @@ "unidiff", "unified diff" ], - "time": "2019-02-04T06:01:07+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:32:55+00:00" }, { "name": "sebastian/environment", - "version": "4.2.3", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -2134,7 +2432,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -2159,34 +2457,40 @@ "environment", "hhvm" ], - "time": "2019-11-20T08:46:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2226,30 +2530,36 @@ "export", "exporter" ], - "time": "2019-09-14T09:02:43+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" + "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ea779cb749a478b22a2564ac41cd7bda79c78dc7", + "reference": "ea779cb749a478b22a2564ac41cd7bda79c78dc7", "shasum": "" }, "require": { - "php": "^7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -2257,7 +2567,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2280,34 +2590,93 @@ "keywords": [ "global state" ], - "time": "2019-02-01T05:30:01+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:54:06+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/6514b8f21906b8b46f520d1fbd17a4523fa59a54", + "reference": "6514b8f21906b8b46f520d1fbd17a4523fa59a54", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:07:27+00:00" }, { "name": "sebastian/object-enumerator", - "version": "3.0.3", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + "reference": "f6f5957013d84725427d361507e13513702888a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f6f5957013d84725427d361507e13513702888a4", + "reference": "f6f5957013d84725427d361507e13513702888a4", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2327,32 +2696,38 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:55:06+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" + "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", + "reference": "d9d0ab3b12acb1768bc1e0a89b23c90d2043cbe5", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2372,32 +2747,38 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:56:16+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.0", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", + "reference": "ed8c9cd355089134bc9cba421b5cfdd58f0eaef7", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2410,14 +2791,14 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, { "name": "Adam Harvey", "email": "aharvey@php.net" @@ -2425,29 +2806,38 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:17:32+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2467,32 +2857,38 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "1.1.3", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" + "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fa592377f3923946cb90bf1f6a71ba2e5f229909", + "reference": "fa592377f3923946cb90bf1f6a71ba2e5f229909", "shasum": "" }, "require": { - "php": "^7.2" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.3-dev" } }, "autoload": { @@ -2513,29 +2909,35 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "time": "2019-07-02T08:10:15+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-06T08:41:03+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2556,36 +2958,42 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "slevomat/coding-standard", - "version": "6.3.9", + "version": "6.4.1", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "dd73c0f9c2207026aeda4b0fdff6e9b7ed2a83e5" + "reference": "696dcca217d0c9da2c40d02731526c1e25b65346" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/dd73c0f9c2207026aeda4b0fdff6e9b7ed2a83e5", - "reference": "dd73c0f9c2207026aeda4b0fdff6e9b7ed2a83e5", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/696dcca217d0c9da2c40d02731526c1e25b65346", + "reference": "696dcca217d0c9da2c40d02731526c1e25b65346", "shasum": "" }, "require": { - "php": "^7.1", - "phpstan/phpdoc-parser": "0.4.0 - 0.4.4", - "squizlabs/php_codesniffer": "^3.5.5" + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", + "php": "^7.1 || ^8.0", + "phpstan/phpdoc-parser": "0.4.5 - 0.4.9", + "squizlabs/php_codesniffer": "^3.5.6" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "0.6.2", "phing/phing": "2.16.3", "php-parallel-lint/php-parallel-lint": "1.2.0", - "phpstan/phpstan": "0.12.19", - "phpstan/phpstan-deprecation-rules": "0.12.2", - "phpstan/phpstan-phpunit": "0.12.8", - "phpstan/phpstan-strict-rules": "0.12.2", - "phpunit/phpunit": "7.5.20|8.5.2|9.1.2" + "phpstan/phpstan": "0.12.48", + "phpstan/phpstan-deprecation-rules": "0.12.5", + "phpstan/phpstan-phpunit": "0.12.16", + "phpstan/phpstan-strict-rules": "0.12.5", + "phpunit/phpunit": "7.5.20|8.5.5|9.4.0" }, "type": "phpcodesniffer-standard", "extra": { @@ -2613,20 +3021,20 @@ "type": "tidelift" } ], - "time": "2020-06-16T07:24:48+00:00" + "time": "2020-10-05T12:39:37+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.5.5", + "version": "3.5.6", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6" + "reference": "e97627871a7eab2f70e59166072a6b767d5834e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6", - "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/e97627871a7eab2f70e59166072a6b767d5834e0", + "reference": "e97627871a7eab2f70e59166072a6b767d5834e0", "shasum": "" }, "require": { @@ -2664,20 +3072,20 @@ "phpcs", "standards" ], - "time": "2020-04-17T01:09:41+00:00" + "time": "2020-08-10T04:50:15+00:00" }, { "name": "symfony/config", - "version": "v5.1.2", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "b8623ef3d99fe62a34baf7a111b576216965f880" + "reference": "6ad8be6e1280f6734150d8a04a9160dd34ceb191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/b8623ef3d99fe62a34baf7a111b576216965f880", - "reference": "b8623ef3d99fe62a34baf7a111b576216965f880", + "url": "https://api.github.com/repos/symfony/config/zipball/6ad8be6e1280f6734150d8a04a9160dd34ceb191", + "reference": "6ad8be6e1280f6734150d8a04a9160dd34ceb191", "shasum": "" }, "require": { @@ -2744,46 +3152,48 @@ "type": "tidelift" } ], - "time": "2020-05-23T13:08:13+00:00" + "time": "2020-09-02T16:23:27+00:00" }, { "name": "symfony/console", - "version": "v4.4.10", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "326b064d804043005526f5a0494cfb49edb59bb0" + "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/326b064d804043005526f5a0494cfb49edb59bb0", - "reference": "326b064d804043005526f5a0494cfb49edb59bb0", + "url": "https://api.github.com/repos/symfony/console/zipball/ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", + "reference": "ae789a8a2ad189ce7e8216942cdb9b77319f5eb8", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2" + "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", @@ -2794,7 +3204,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -2835,20 +3245,20 @@ "type": "tidelift" } ], - "time": "2020-05-30T20:06:45+00:00" + "time": "2020-10-07T15:23:00+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.1.2", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337" + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337", - "reference": "dd99cb3a0aff6cadd2a8d7d7ed72c2161e218337", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", "shasum": "" }, "require": { @@ -2857,7 +3267,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -2895,20 +3309,20 @@ "type": "tidelift" } ], - "time": "2020-05-27T08:34:37+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/filesystem", - "version": "v5.1.2", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157" + "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", - "reference": "6e4320f06d5f2cce0d96530162491f4465179157", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/1a8697545a8d87b9f2f6b1d32414199cc5e20aae", + "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae", "shasum": "" }, "require": { @@ -2959,20 +3373,20 @@ "type": "tidelift" } ], - "time": "2020-05-30T20:35:19+00:00" + "time": "2020-09-27T14:02:37+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.17.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9" + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e94c8b1bbe2bc77507a1056cdb06451c75b427f9", - "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454", + "reference": "1c302646f6efc070cd46856e600e5e0684d6b454", "shasum": "" }, "require": { @@ -2984,7 +3398,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3031,26 +3449,24 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:14:59+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.17.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a", - "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b740103edbdcc39602239ee8860f0f45a8eb9aa5", + "reference": "b740103edbdcc39602239ee8860f0f45a8eb9aa5", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.10" + "php": ">=5.3.3" }, "suggest": { "ext-intl": "For best performance" @@ -3058,12 +3474,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" }, "files": [ "bootstrap.php" @@ -3075,19 +3495,19 @@ ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "idn", + "grapheme", "intl", "polyfill", "portable", @@ -3107,40 +3527,47 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.17.0", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fa79b11539418b02fc5e1897267673ba2c19419c" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c", - "reference": "fa79b11539418b02fc5e1897267673ba2c19419c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", + "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "files": [ "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3157,11 +3584,12 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "intl", + "normalizer", "polyfill", "portable", "shim" @@ -3180,34 +3608,41 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.17.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.18.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "f048e612a3905f34931127360bdd2def19a5e582" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582", - "reference": "f048e612a3905f34931127360bdd2def19a5e582", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a", + "reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "suggest": { + "ext-mbstring": "For best performance" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, "files": [ "bootstrap.php" @@ -3227,10 +3662,11 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" @@ -3249,20 +3685,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.17.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc" + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a760d8964ff79ab9bf057613a5808284ec852ccc", - "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca", + "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca", "shasum": "" }, "require": { @@ -3271,7 +3707,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3321,20 +3761,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.17.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd" + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/5e30b2799bc1ad68f7feb62b60a73743589438dd", - "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981", + "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981", "shasum": "" }, "require": { @@ -3343,7 +3783,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17-dev" + "dev-master": "1.18-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -3397,20 +3841,20 @@ "type": "tidelift" } ], - "time": "2020-05-12T16:47:27+00:00" + "time": "2020-07-14T12:35:20+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.1.2", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b" + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/66a8f0957a3ca54e4f724e49028ab19d75a8918b", - "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", "shasum": "" }, "require": { @@ -3423,7 +3867,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -3469,11 +3917,11 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/stopwatch", - "version": "v5.1.2", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -3535,37 +3983,126 @@ ], "time": "2020-05-20T17:43:50+00:00" }, + { + "name": "symfony/string", + "version": "v5.1.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", + "reference": "4a9afe9d07bac506f75bcee8ed3ce76da5a9343e", + "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" + ], + "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-09-15T12:23:47+00:00" + }, { "name": "symfony/yaml", - "version": "v4.4.10", + "version": "v5.1.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c2d2cc66e892322cfcc03f8f12f8340dbd7a3f8a" + "reference": "e147a68cb66a8b510f4b7481fe4da5b2ab65ec6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c2d2cc66e892322cfcc03f8f12f8340dbd7a3f8a", - "reference": "c2d2cc66e892322cfcc03f8f12f8340dbd7a3f8a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e147a68cb66a8b510f4b7481fe4da5b2ab65ec6a", + "reference": "e147a68cb66a8b510f4b7481fe4da5b2ab65ec6a", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/console": "<3.4" + "symfony/console": "<4.4" }, "require-dev": { - "symfony/console": "^3.4|^4.0|^5.0" + "symfony/console": "^4.4|^5.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -3606,27 +4143,27 @@ "type": "tidelift" } ], - "time": "2020-05-20T08:37:50+00:00" + "time": "2020-09-27T03:44:28+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.3", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + "reference": "75a63c33a8577608444246075ea0af0d052e452a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -3646,44 +4183,35 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-06-13T22:48:21+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" }, { "name": "wavevision/coding-standard", - "version": "3.1.3", + "version": "5.2.0", "source": { "type": "git", "url": "https://github.com/wavevision/coding-standard.git", - "reference": "8347f01fbde08252e86cf1eb59b2d6b516c9a076" + "reference": "f371a6a100dca1a2257ca8fa82d1837f114e3460" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wavevision/coding-standard/zipball/8347f01fbde08252e86cf1eb59b2d6b516c9a076", - "reference": "8347f01fbde08252e86cf1eb59b2d6b516c9a076", + "url": "https://api.github.com/repos/wavevision/coding-standard/zipball/f371a6a100dca1a2257ca8fa82d1837f114e3460", + "reference": "f371a6a100dca1a2257ca8fa82d1837f114e3460", "shasum": "" }, "require": { "php": ">=7.4", - "slevomat/coding-standard": "^6.0" - }, - "require-dev": { - "jakub-onderka/php-parallel-lint": "^1.0", - "phing/phing": "^2.16", - "php-coveralls/php-coveralls": "^2.1", - "phpstan/phpstan": "^0.12.3", - "phpunit/phpunit": "^8.3" - }, - "suggest": { - "jakub-onderka/php-parallel-lint": "This tool check syntax of PHP files faster than serial check with fancier output.", - "phpstan/phpstan": "PHP Static Analysis Tool - discover bugs in your code without running it!", - "phpunit/phpunit": "The PHP Unit Testing framework." + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan": "^0.12", + "slevomat/coding-standard": "^6.4" }, "type": "library", - "autoload": { - "psr-4": { - "WavevisionCodingStandard\\": "php/WavevisionCodingStandard/" - } - }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -3704,24 +4232,24 @@ ], "description": "The Wavevision PHP coding standard.", "homepage": "https://github.com/wavevision/coding-standard", - "time": "2020-02-21T20:36:38+00:00" + "time": "2020-10-21T09:10:36+00:00" }, { "name": "webmozart/assert", - "version": "1.9.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "9dc4f203e36f2b486149058bade43c851dd97451" + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/9dc4f203e36f2b486149058bade43c851dd97451", - "reference": "9dc4f203e36f2b486149058bade43c851dd97451", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0", + "php": "^5.3.3 || ^7.0 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -3753,19 +4281,20 @@ "check", "validate" ], - "time": "2020-06-16T10:16:42+00:00" + "time": "2020-07-08T17:02:28+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "phing/phing": 15 - }, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { + "php": ">=7.4", + "ext-fileinfo": "*", "ext-iconv": "*", - "php": ">=7.4" + "ext-json": "*", + "ext-zip": "*" }, "platform-dev": [], "platform-overrides": { diff --git a/phpunit.xml b/phpunit.xml index 70fb243..34a9d7f 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,33 +1,29 @@ - + + + src + + + + + tests - - - - - - src - - + diff --git a/src/Utils/Arrays.php b/src/Utils/Arrays.php index 3ad6bac..401fa4d 100644 --- a/src/Utils/Arrays.php +++ b/src/Utils/Arrays.php @@ -8,6 +8,28 @@ use Nette\InvalidStateException; use Nette\Utils\ArrayHash; use Nette\Utils\Arrays as NetteArrays; +use function abs; +use function array_key_exists; +use function array_keys; +use function array_map; +use function array_merge; +use function array_pop; +use function array_push; +use function array_reduce; +use function array_slice; +use function array_unique; +use function array_values; +use function count; +use function end; +use function is_array; +use function is_int; +use function is_string; +use function key; +use function key_exists; +use function sort; +use function str_replace; +use function strpos; +use function trim; class Arrays extends NetteArrays { diff --git a/src/Utils/DOM/DataAttribute.php b/src/Utils/DOM/DataAttribute.php index 36b7fb3..69a3366 100644 --- a/src/Utils/DOM/DataAttribute.php +++ b/src/Utils/DOM/DataAttribute.php @@ -6,6 +6,7 @@ use Nette\SmartObject; use Nette\Utils\Html; use Wavevision\Utils\Strings; +use function sprintf; final class DataAttribute implements JsonSerializable { @@ -22,11 +23,6 @@ public function __construct(string $name, ?string $prefix = null) $this->currentValue = ''; } - public function __toString(): string - { - return $this->asString(); - } - /** * @return array */ @@ -114,4 +110,9 @@ public function value($value = null): string return $this->currentValue; } + public function __toString(): string + { + return $this->asString(); + } + } diff --git a/src/Utils/Encoding.php b/src/Utils/Encoding.php index b99164e..39edaf2 100644 --- a/src/Utils/Encoding.php +++ b/src/Utils/Encoding.php @@ -156,4 +156,5 @@ class Encoding public const WIN_PATTERN = '/[\x7F-\x9F\xBC]/'; public const WINDOWS_1250 = 'WINDOWS-1250'; + } diff --git a/src/Utils/ExternalProgram/Executor.php b/src/Utils/ExternalProgram/Executor.php index 79c8dfa..963ac81 100644 --- a/src/Utils/ExternalProgram/Executor.php +++ b/src/Utils/ExternalProgram/Executor.php @@ -3,6 +3,8 @@ namespace Wavevision\Utils\ExternalProgram; use Nette\StaticClass; +use function exec; +use function sprintf; class Executor { diff --git a/src/Utils/ExternalProgram/Result.php b/src/Utils/ExternalProgram/Result.php index 71d0c60..3ef487e 100644 --- a/src/Utils/ExternalProgram/Result.php +++ b/src/Utils/ExternalProgram/Result.php @@ -3,6 +3,7 @@ namespace Wavevision\Utils\ExternalProgram; use Nette\SmartObject; +use function implode; class Result { diff --git a/src/Utils/File.php b/src/Utils/File.php index e19791e..cdf4ce7 100644 --- a/src/Utils/File.php +++ b/src/Utils/File.php @@ -3,6 +3,14 @@ namespace Wavevision\Utils; use Nette\SmartObject; +use function error_get_last; +use function fclose; +use function fgetcsv; +use function fopen; +use function fputcsv; +use function fwrite; +use function rewind; +use function stream_get_contents; class File { @@ -14,6 +22,14 @@ class File */ private $resource; + /** + * @param resource $resource + */ + private function __construct($resource) + { + $this->resource = $resource; + } + public static function open(string $filename, string $mode): self { $resource = @fopen($filename, $mode); @@ -83,14 +99,6 @@ public function close(): void fclose($this->resource); } - /** - * @param resource $resource - */ - private function __construct($resource) - { - $this->resource = $resource; - } - private static function getLastError(): string { /** @var array $error */ diff --git a/src/Utils/FileInfo.php b/src/Utils/FileInfo.php index c47c181..3b42062 100644 --- a/src/Utils/FileInfo.php +++ b/src/Utils/FileInfo.php @@ -6,6 +6,16 @@ use Nette\IOException; use Nette\SmartObject; use Nette\Utils\DateTime; +use function basename; +use function dirname; +use function filemtime; +use function filesize; +use function is_file; +use function pathinfo; +use function sprintf; +use function str_replace; +use const FILEINFO_MIME_TYPE; +use const PATHINFO_EXTENSION; class FileInfo { diff --git a/src/Utils/Finder.php b/src/Utils/Finder.php index 06eab71..4fdca14 100644 --- a/src/Utils/Finder.php +++ b/src/Utils/Finder.php @@ -6,6 +6,8 @@ use Iterator; use Nette\Utils\Finder as NetteFinder; use SplFileInfo; +use function is_callable; +use function iterator_to_array; class Finder extends NetteFinder { diff --git a/src/Utils/ImageInfo.php b/src/Utils/ImageInfo.php index 73abc57..901665b 100644 --- a/src/Utils/ImageInfo.php +++ b/src/Utils/ImageInfo.php @@ -3,6 +3,7 @@ namespace Wavevision\Utils; use Nette\InvalidStateException; +use function getimagesize; class ImageInfo { @@ -13,6 +14,13 @@ class ImageInfo private string $contentType; + private function __construct(int $width, int $height, string $contentType) + { + $this->width = $width; + $this->height = $height; + $this->contentType = $contentType; + } + public static function create(string $pathname): self { $info = getimagesize($pathname); @@ -37,11 +45,4 @@ public function getHeight(): int return $this->height; } - private function __construct(int $width, int $height, string $contentType) - { - $this->width = $width; - $this->height = $height; - $this->contentType = $contentType; - } - } diff --git a/src/Utils/InvalidState.php b/src/Utils/InvalidState.php index 1ed64fd..a3fcc6d 100644 --- a/src/Utils/InvalidState.php +++ b/src/Utils/InvalidState.php @@ -2,7 +2,9 @@ namespace Wavevision\Utils; -class InvalidState extends \Exception +use Exception; + +class InvalidState extends Exception { } diff --git a/src/Utils/Json.php b/src/Utils/Json.php index 250f080..f56a07a 100644 --- a/src/Utils/Json.php +++ b/src/Utils/Json.php @@ -5,6 +5,9 @@ use Nette\StaticClass; use Nette\Utils\Json as NetteJson; use Nette\Utils\JsonException; +use function preg_replace_callback; +use function str_repeat; +use function strlen; class Json { @@ -29,4 +32,5 @@ function ($m) use ($indent) { NetteJson::encode($value, NetteJson::PRETTY) ); } + } diff --git a/src/Utils/Maintenance.php b/src/Utils/Maintenance.php index f7ce853..c2715f7 100644 --- a/src/Utils/Maintenance.php +++ b/src/Utils/Maintenance.php @@ -3,6 +3,9 @@ namespace Wavevision\Utils; use Nette\StaticClass; +use function is_file; +use function touch; +use function unlink; class Maintenance { diff --git a/src/Utils/Objects.php b/src/Utils/Objects.php index d26e30c..666d178 100644 --- a/src/Utils/Objects.php +++ b/src/Utils/Objects.php @@ -3,6 +3,14 @@ namespace Wavevision\Utils; use Nette\SmartObject; +use function get_class; +use function implode; +use function is_array; +use function is_callable; +use function is_object; +use function is_string; +use function method_exists; +use function ucfirst; class Objects { diff --git a/src/Utils/Path.php b/src/Utils/Path.php index 2de5dd4..aca4936 100644 --- a/src/Utils/Path.php +++ b/src/Utils/Path.php @@ -4,19 +4,30 @@ use Nette\InvalidStateException; use Nette\SmartObject; +use function array_map; +use function array_merge; +use function implode; +use function realpath; +use function rtrim; +use function sprintf; class Path { - public const DELIMITER = '/'; - use SmartObject; + public const DELIMITER = '/'; + /** * @var array */ private array $path; + private function __construct(?string ...$path) + { + $this->path = $path; + } + public static function create(?string ...$path): self { return new self(...$path); @@ -69,9 +80,4 @@ public function __toString(): string return self::join(...$this->path); } - private function __construct(?string ...$path) - { - $this->path = $path; - } - } diff --git a/src/Utils/SerialNumber.php b/src/Utils/SerialNumber.php index a839311..93fbe15 100644 --- a/src/Utils/SerialNumber.php +++ b/src/Utils/SerialNumber.php @@ -3,16 +3,21 @@ namespace Wavevision\Utils; use Nette\StaticClass; +use function count; +use function date; +use function sprintf; +use function str_replace; +use function strlen; class SerialNumber { + use StaticClass; + public const YEAR_REGEXP = '/(\%Y{2}\%|\%Y{4}\%)/'; public const NUMBER_REGEXP = '/(\%X{1,}\%)/'; - use StaticClass; - public static function generate(string $mask, int $nextNumber): string { $yearPattern = self::pattern($mask, self::YEAR_REGEXP); diff --git a/src/Utils/SerialNumberInvalidMask.php b/src/Utils/SerialNumberInvalidMask.php index d283865..d8053f5 100644 --- a/src/Utils/SerialNumberInvalidMask.php +++ b/src/Utils/SerialNumberInvalidMask.php @@ -2,7 +2,9 @@ namespace Wavevision\Utils; -class SerialNumberInvalidMask extends \Exception +use Exception; + +class SerialNumberInvalidMask extends Exception { } diff --git a/src/Utils/Server.php b/src/Utils/Server.php index a7b83c7..c572d92 100644 --- a/src/Utils/Server.php +++ b/src/Utils/Server.php @@ -4,6 +4,9 @@ use Nette\IOException; use Nette\StaticClass; +use function ini_get; +use function min; +use function php_sapi_name; class Server { @@ -36,4 +39,5 @@ public static function isCLI(): bool { return php_sapi_name() === 'cli'; } + } diff --git a/src/Utils/Strings.php b/src/Utils/Strings.php index 5f34c80..970404a 100644 --- a/src/Utils/Strings.php +++ b/src/Utils/Strings.php @@ -5,6 +5,20 @@ use Nette\InvalidArgumentException; use Nette\IOException; use Nette\Utils\Strings as NetteStrings; +use function count; +use function iconv; +use function lcfirst; +use function preg_match; +use function preg_replace; +use function rtrim; +use function str_replace; +use function stripos; +use function strlen; +use function strrchr; +use function strtolower; +use function strtr; +use function substr; +use function ucwords; class Strings extends NetteStrings { diff --git a/src/Utils/Tokenizer/Tokenizer.php b/src/Utils/Tokenizer/Tokenizer.php index f6255b8..848b26f 100644 --- a/src/Utils/Tokenizer/Tokenizer.php +++ b/src/Utils/Tokenizer/Tokenizer.php @@ -4,6 +4,13 @@ use Nette\SmartObject; use Nette\Utils\FileSystem; +use function in_array; +use function is_array; +use function token_get_all; +use const T_NAMESPACE; +use const T_NS_SEPARATOR; +use const T_STRING; +use const T_WHITESPACE; class Tokenizer { diff --git a/src/Utils/Validators.php b/src/Utils/Validators.php index 17cc3e8..011aa9b 100644 --- a/src/Utils/Validators.php +++ b/src/Utils/Validators.php @@ -3,6 +3,12 @@ namespace Wavevision\Utils; use Nette\Utils\Validators as NetteValidators; +use function checkdate; +use function implode; +use function preg_match; +use function str_repeat; +use function str_replace; +use function trim; class Validators extends NetteValidators { @@ -85,4 +91,5 @@ public static function isRgbColor(string $color): bool // phpcs:enable return preg_match($pattern, $color) === 1; } + } diff --git a/src/Utils/Zip/ZipArchive.php b/src/Utils/Zip/ZipArchive.php index dcbd7d2..6511460 100644 --- a/src/Utils/Zip/ZipArchive.php +++ b/src/Utils/Zip/ZipArchive.php @@ -9,6 +9,10 @@ use Wavevision\Utils\Finder; use Wavevision\Utils\Path; use ZipArchive as Zip; +use function basename; +use function file_exists; +use function is_dir; +use function is_file; class ZipArchive { diff --git a/src/Utils/Zip/ZipArchiveItem.php b/src/Utils/Zip/ZipArchiveItem.php index 3c020c5..84497c4 100644 --- a/src/Utils/Zip/ZipArchiveItem.php +++ b/src/Utils/Zip/ZipArchiveItem.php @@ -3,6 +3,7 @@ namespace Wavevision\Utils\Zip; use Nette\SmartObject; +use function basename; final class ZipArchiveItem { diff --git a/tests/UtilsTests/ArraysTest.php b/tests/UtilsTests/ArraysTest.php index 75ed55c..1a1aec4 100644 --- a/tests/UtilsTests/ArraysTest.php +++ b/tests/UtilsTests/ArraysTest.php @@ -2,11 +2,17 @@ namespace Wavevision\UtilsTests; +use ArrayIterator; use Nette\InvalidArgumentException; use Nette\InvalidStateException; use Nette\Utils\ArrayHash; use PHPUnit\Framework\TestCase; +use stdClass; use Wavevision\Utils\Arrays; +use function array_key_first; +use function is_int; +use function is_string; +use function reset; /** * @covers \Wavevision\Utils\Arrays @@ -69,19 +75,19 @@ function (string $item) use (&$one): void { public function testExtractObjectIds(): void { - $o1 = new \stdClass(); + $o1 = new stdClass(); $o1->id = 1; - $o2 = new \stdClass(); + $o2 = new stdClass(); $o2->id = 'some-id'; - $o3 = new \stdClass(); + $o3 = new stdClass(); $this->assertEquals([1, 'some-id', null], Arrays::extractObjectIds([$o1, $o2, $o3])); } public function testExtractValuesFromObject(): void { - $o1 = new \stdClass(); + $o1 = new stdClass(); $o1->something = 'someValue'; - $o2 = $this->getMockBuilder(\stdClass::class) + $o2 = $this->getMockBuilder(stdClass::class) ->addMethods(['getSomething']) ->getMock(); $o2->method('getSomething') @@ -99,7 +105,7 @@ public function testExtractValues(): void public function testFirstItem(): void { - $item = new \stdClass(); + $item = new stdClass(); $this->assertSame($item, Arrays::firstItem([$item])); } @@ -117,7 +123,7 @@ public function testLastItem(): void public function testLastKey(): void { $this->assertEquals(2, Arrays::lastKey([1 => 1, 2 => 2])); - $iterable = new \ArrayIterator(['one', 'two']); + $iterable = new ArrayIterator(['one', 'two']); $this->assertEquals(1, Arrays::lastKey($iterable)); } @@ -278,21 +284,21 @@ public function testJsonPath(): void public function testMapCollection(): void { $this->mapCollection([1]); - $class = new \stdClass(); + $class = new stdClass(); $class->a = 1; $this->mapCollection($class); } public function testMapIterable(): void { - $class = new \stdClass(); + $class = new stdClass(); $class->id = 1; $this->assertEquals( [0 => '1/0/0'], Arrays::mapIterable( [$class], function ( - \stdClass $item, + stdClass $item, int $key, array $collection ): string { diff --git a/tests/UtilsTests/ExternalProgram/ExecutorTest.php b/tests/UtilsTests/ExternalProgram/ExecutorTest.php index c60ae5a..0f0d752 100644 --- a/tests/UtilsTests/ExternalProgram/ExecutorTest.php +++ b/tests/UtilsTests/ExternalProgram/ExecutorTest.php @@ -6,6 +6,7 @@ use Wavevision\Utils\ExternalProgram\Executor; use Wavevision\Utils\ExternalProgram\Failure; use Wavevision\Utils\ExternalProgram\Result; +use function sprintf; class ExecutorTest extends TestCase { @@ -25,8 +26,8 @@ public function testExecuteValidCommand(): void public function testExecuteFailedCommand(): void { + $command = __DIR__ . '/error.sh'; try { - $command = __DIR__ . '/error.sh'; Executor::execute($command); } catch (Failure $failure) { $this->assertEquals( diff --git a/tests/UtilsTests/FinderTest.php b/tests/UtilsTests/FinderTest.php index 25024cc..9fef1b9 100644 --- a/tests/UtilsTests/FinderTest.php +++ b/tests/UtilsTests/FinderTest.php @@ -2,9 +2,15 @@ namespace Wavevision\UtilsTests; +use ArrayIterator; +use Iterator; use org\bovigo\vfs\vfsStream as fs; use PHPUnit\Framework\TestCase; +use SplFileInfo; use Wavevision\Utils\Finder; +use function file_put_contents; +use function time; +use function touch; /** * @covers \Wavevision\Utils\Finder @@ -15,23 +21,23 @@ class FinderTest extends TestCase public function testGetIterator(): void { $finder = $this->getFinder(); - $this->assertInstanceOf(\Iterator::class, $finder->getIterator()); + $this->assertInstanceOf(Iterator::class, $finder->getIterator()); $finder->setSort( function (): int { return 0; } ); - $this->assertInstanceOf(\ArrayIterator::class, $finder->getIterator()); + $this->assertInstanceOf(ArrayIterator::class, $finder->getIterator()); } public function testSortByMTime(): void { $files = []; - /** @var \SplFileInfo $file */ + /** @var SplFileInfo $file */ foreach ($this->getFinder()->sortByMTime() as $file) { $files[] = $file->getFilename(); } - /** @var \SplFileInfo $file */ + /** @var SplFileInfo $file */ foreach ($this->getFinder()->sortByMTime(Finder::ORDER_ASC) as $file) { $files[] = $file->getFilename(); } @@ -41,11 +47,11 @@ public function testSortByMTime(): void public function testSortByName(): void { $files = []; - /** @var \SplFileInfo $file */ + /** @var SplFileInfo $file */ foreach ($this->getFinder(['some-file', 'anotherFile', 'čeština'])->sortByName() as $file) { $files[] = $file->getFilename(); } - /** @var \SplFileInfo $file */ + /** @var SplFileInfo $file */ foreach ($this->getFinder(['ahoj', 'Test', 'ČekDis'])->sortByName( Finder::ORDER_DESC, Finder::CASE_SENSITIVE @@ -81,4 +87,5 @@ private function getDir(array $files): string } return $dir->url(); } + } diff --git a/tests/UtilsTests/ImageInfoTest.php b/tests/UtilsTests/ImageInfoTest.php index bda380d..536b87a 100644 --- a/tests/UtilsTests/ImageInfoTest.php +++ b/tests/UtilsTests/ImageInfoTest.php @@ -6,6 +6,7 @@ use PHPUnit\Framework\TestCase; use Wavevision\Utils\ImageInfo; use Wavevision\Utils\Path; +use function sprintf; class ImageInfoTest extends TestCase { diff --git a/tests/UtilsTests/JsonTest.php b/tests/UtilsTests/JsonTest.php index c488f11..fb1aaf8 100644 --- a/tests/UtilsTests/JsonTest.php +++ b/tests/UtilsTests/JsonTest.php @@ -16,4 +16,5 @@ public function testEncodePretty(): void $this->assertIsString(Json::encodePretty([1 => 'one'])); $this->assertIsString(Json::encodePretty(null, Json::INDENT_JS)); } + } diff --git a/tests/UtilsTests/ServerTest.php b/tests/UtilsTests/ServerTest.php index 2e63799..1f80331 100644 --- a/tests/UtilsTests/ServerTest.php +++ b/tests/UtilsTests/ServerTest.php @@ -57,4 +57,5 @@ private function mockFunction(string $function): MockObject { return $this->getFunctionMock(Strings::getNamespace(Server::class), $function); } + } diff --git a/tests/UtilsTests/Tokenizer/TokenizerTest.php b/tests/UtilsTests/Tokenizer/TokenizerTest.php index 29c2382..3cba07b 100644 --- a/tests/UtilsTests/Tokenizer/TokenizerTest.php +++ b/tests/UtilsTests/Tokenizer/TokenizerTest.php @@ -3,23 +3,33 @@ namespace Wavevision\UtilsTests\Tokenizer; use org\bovigo\vfs\vfsStream as fs; +use PHPUnit\Framework\AssertionFailedError; use PHPUnit\Framework\TestCase; use Wavevision\Utils\Tokenizer\Tokenizer; +use Wavevision\Utils\Tokenizer\TokenizeResult; +use function file_put_contents; +use const T_CLASS; +use const T_INTERFACE; +use const T_TRAIT; class TokenizerTest extends TestCase { public function testClass(): void { - $class = (new Tokenizer())->getStructureNameFromFile($this->getFile('assertResult( + (new Tokenizer())->getStructureNameFromFile($this->getFile('assertEquals('Two', $class->getName()); } public function testInterface(): void { - $interface = (new Tokenizer())->getStructureNameFromFile( - $this->getFile('assertResult( + (new Tokenizer())->getStructureNameFromFile( + $this->getFile('assertEquals('Two', $interface->getName()); } @@ -29,20 +39,22 @@ public function testTrait(): void $content = 'getStructureNameFromFile($this->getFile($content), [T_CLASS]); $this->assertNull($class); - $trait = (new Tokenizer())->getStructureNameFromFile($this->getFile($content), [T_TRAIT]); + $trait = $this->assertResult((new Tokenizer())->getStructureNameFromFile($this->getFile($content), [T_TRAIT])); $this->assertEquals('Two', $trait->getName()); } public function testClassWithNamespace(): void { - $namespace = (new Tokenizer())->getStructureNameFromFile( - $this->getFile( - 'assertResult( + (new Tokenizer())->getStructureNameFromFile( + $this->getFile( + 'assertEquals('One', $namespace->getNamespace()); $this->assertEquals('One\Two', $namespace->getFullyQualifiedName()); @@ -64,6 +76,14 @@ private function assertNoStructure(string $php): void ); } + private function assertResult(?TokenizeResult $result): TokenizeResult + { + if ($result === null) { + throw new AssertionFailedError('Tokenize result must not be null.'); + } + return $result; + } + private function getFile(string $content): string { fs::setup('r'); diff --git a/tests/UtilsTests/ValidatorsTest.php b/tests/UtilsTests/ValidatorsTest.php index a9f6ad3..197e0f8 100644 --- a/tests/UtilsTests/ValidatorsTest.php +++ b/tests/UtilsTests/ValidatorsTest.php @@ -48,4 +48,5 @@ public function testIsRgbColor(): void $this->assertFalse(Validators::isRgbColor('abc')); $this->assertTrue(Validators::isRgbColor('255,255,255')); } + } From 395b756fbf6e2e6e657937f18285dc51e78a09f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Rozs=C3=ADval?= Date: Wed, 21 Oct 2020 14:51:38 +0200 Subject: [PATCH 2/2] Fix failing tests --- composer.json | 1 - composer.lock | 173 +------------------------- tests/UtilsTests/SerialNumberTest.php | 29 ++--- tests/UtilsTests/ServerTest.php | 30 +---- 4 files changed, 13 insertions(+), 220 deletions(-) diff --git a/composer.json b/composer.json index 2fc351e..0251777 100644 --- a/composer.json +++ b/composer.json @@ -46,7 +46,6 @@ "require-dev": { "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.1", - "php-mock/php-mock-phpunit": "^2.4", "phpunit/phpunit": "^9.4", "wavevision/coding-standard": "^5.2" }, diff --git a/composer.lock b/composer.lock index 192d065..a825826 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": "351c57d918cd593e53deb42ab55fc3f1", + "content-hash": "e18cd0445f4456e40ac9d54eeaeecb5c", "packages": [ { "name": "nette/finder", @@ -896,177 +896,6 @@ ], "time": "2020-10-05T23:08:28+00:00" }, - { - "name": "php-mock/php-mock", - "version": "2.2.2", - "source": { - "type": "git", - "url": "https://github.com/php-mock/php-mock.git", - "reference": "890d3e32e3a5f29715a8fd17debd87a0c9e614a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-mock/php-mock/zipball/890d3e32e3a5f29715a8fd17debd87a0c9e614a0", - "reference": "890d3e32e3a5f29715a8fd17debd87a0c9e614a0", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1 || ^2" - }, - "replace": { - "malkusch/php-mock": "*" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0 || ^9.0" - }, - "suggest": { - "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock." - }, - "type": "library", - "autoload": { - "files": [ - "autoload.php" - ], - "psr-4": { - "phpmock\\": [ - "classes/", - "tests/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "WTFPL" - ], - "authors": [ - { - "name": "Markus Malkusch", - "email": "markus@malkusch.de", - "homepage": "http://markus.malkusch.de", - "role": "Developer" - } - ], - "description": "PHP-Mock can mock built-in PHP functions (e.g. time()). PHP-Mock relies on PHP's namespace fallback policy. No further extension is needed.", - "homepage": "https://github.com/php-mock/php-mock", - "keywords": [ - "BDD", - "TDD", - "function", - "mock", - "stub", - "test", - "test double" - ], - "time": "2020-04-17T16:39:00+00:00" - }, - { - "name": "php-mock/php-mock-integration", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-mock/php-mock-integration.git", - "reference": "003d585841e435958a02e9b986953907b8b7609b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-mock/php-mock-integration/zipball/003d585841e435958a02e9b986953907b8b7609b", - "reference": "003d585841e435958a02e9b986953907b8b7609b", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "php-mock/php-mock": "^2.2", - "phpunit/php-text-template": "^1 || ^2" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.27 || ^6 || ^7 || ^8 || ^9" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpmock\\integration\\": "classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "WTFPL" - ], - "authors": [ - { - "name": "Markus Malkusch", - "email": "markus@malkusch.de", - "homepage": "http://markus.malkusch.de", - "role": "Developer" - } - ], - "description": "Integration package for PHP-Mock", - "homepage": "https://github.com/php-mock/php-mock-integration", - "keywords": [ - "BDD", - "TDD", - "function", - "mock", - "stub", - "test", - "test double" - ], - "time": "2020-02-08T14:40:25+00:00" - }, - { - "name": "php-mock/php-mock-phpunit", - "version": "2.6.0", - "source": { - "type": "git", - "url": "https://github.com/php-mock/php-mock-phpunit.git", - "reference": "2877a0e58f12e91b64bf36ccd080a209dcbf6c30" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-mock/php-mock-phpunit/zipball/2877a0e58f12e91b64bf36ccd080a209dcbf6c30", - "reference": "2877a0e58f12e91b64bf36ccd080a209dcbf6c30", - "shasum": "" - }, - "require": { - "php": ">=7", - "php-mock/php-mock-integration": "^2.1", - "phpunit/phpunit": "^6 || ^7 || ^8 || ^9" - }, - "type": "library", - "autoload": { - "files": [ - "autoload.php" - ], - "psr-4": { - "phpmock\\phpunit\\": "classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "WTFPL" - ], - "authors": [ - { - "name": "Markus Malkusch", - "email": "markus@malkusch.de", - "homepage": "http://markus.malkusch.de", - "role": "Developer" - } - ], - "description": "Mock built-in PHP functions (e.g. time()) with PHPUnit. This package relies on PHP's namespace fallback policy. No further extension is needed.", - "homepage": "https://github.com/php-mock/php-mock-phpunit", - "keywords": [ - "BDD", - "TDD", - "function", - "mock", - "phpunit", - "stub", - "test", - "test double" - ], - "time": "2020-02-08T15:44:47+00:00" - }, { "name": "php-parallel-lint/php-parallel-lint", "version": "v1.2.0", diff --git a/tests/UtilsTests/SerialNumberTest.php b/tests/UtilsTests/SerialNumberTest.php index 602a95a..2588b4c 100644 --- a/tests/UtilsTests/SerialNumberTest.php +++ b/tests/UtilsTests/SerialNumberTest.php @@ -2,12 +2,10 @@ namespace Wavevision\UtilsTests; -use phpmock\phpunit\PHPMock; -use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Wavevision\Utils\SerialNumber; use Wavevision\Utils\SerialNumberInvalidMask; -use Wavevision\Utils\Strings; +use function date; /** * @covers \Wavevision\Utils\SerialNumber @@ -15,25 +13,22 @@ class SerialNumberTest extends TestCase { - use PHPMock; - public function testGenerate2(): void { - $this->mockDate('89', 'y'); - $this->assertEquals('89011', SerialNumber::generate('%YY%01%X%', 1)); - $this->assertEquals('8902', SerialNumber::generate('%YY%%XX%', 2)); - $this->assertEquals('1389', SerialNumber::generate('%XX%%YY%', 13)); + $date = date('y'); + $this->assertEquals($date . '011', SerialNumber::generate('%YY%01%X%', 1)); + $this->assertEquals($date . '02', SerialNumber::generate('%YY%%XX%', 2)); + $this->assertEquals('13' . $date, SerialNumber::generate('%XX%%YY%', 13)); } public function testGenerate4(): void { - $this->mockDate('1989', 'Y'); - $this->assertEquals('a198901001b', SerialNumber::generate('a%YYYY%01%XXX%b', 1)); + $date = date('Y'); + $this->assertEquals('a' . $date . '01001b', SerialNumber::generate('a%YYYY%01%XXX%b', 1)); } public function testInvalid(): void { - $this->mockDate('89', 'y'); $this->assertInvalidMask(''); $this->assertInvalidMask('%YY%'); $this->assertInvalidMask('%XXXX%'); @@ -43,16 +38,6 @@ public function testInvalid(): void $this->assertInvalidMask('%YY%XXX%'); } - private function mockDate(string $date, string $format): void - { - $this->mockFunction('date')->expects($this->any())->with($format)->willReturn($date); - } - - private function mockFunction(string $function): MockObject - { - return $this->getFunctionMock(Strings::getNamespace(SerialNumber::class), $function); - } - private function assertInvalidMask(string $pattern): void { $e = null; diff --git a/tests/UtilsTests/ServerTest.php b/tests/UtilsTests/ServerTest.php index 1f80331..f2f60cc 100644 --- a/tests/UtilsTests/ServerTest.php +++ b/tests/UtilsTests/ServerTest.php @@ -3,11 +3,8 @@ namespace Wavevision\UtilsTests; use Nette\IOException; -use phpmock\phpunit\PHPMock; -use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Wavevision\Utils\Server; -use Wavevision\Utils\Strings; /** * @covers \Wavevision\Utils\Server @@ -15,47 +12,30 @@ class ServerTest extends TestCase { - use PHPMock; - public function testGetIniThrowsException(): void { - $iniGet = $this->mockFunction('ini_get'); - $iniGet->expects($this->once())->willReturn(false); $this->expectException(IOException::class); - Server::getIni('key'); + Server::getIni('undefined'); } public function testGetIniReturnsKeyValue(): void { - $iniGet = $this->mockFunction('ini_get'); - $iniGet->expects($this->once())->willReturn('value'); - $this->assertEquals('value', Server::getIni('key')); + $this->assertIsString(Server::getIni('default_charset')); } public function testGetMaxUploadSizeReturnsCustomizedValue(): void { - $iniGet = $this->mockFunction('ini_get'); - $iniGet->expects($this->exactly(2))->willReturn('100M', '120M'); - $this->assertEquals(104857600, Server::getMaxUploadSize(110, 'M')); + $this->assertEquals(1048576, Server::getMaxUploadSize(1, 'M')); } public function testGetMaxUploadSizeReturnsDefault(): void { - $iniGet = $this->mockFunction('ini_get'); - $iniGet->expects($this->exactly(2))->willReturn('120M'); - $this->assertEquals(125829120, Server::getMaxUploadSize()); + $this->assertIsInt(Server::getMaxUploadSize()); } public function testIsCLI(): void { - $phpSapiName = $this->mockFunction('php_sapi_name'); - $phpSapiName->expects($this->once())->willReturn('cli'); - $this->assertTrue(Server::isCLI()); - } - - private function mockFunction(string $function): MockObject - { - return $this->getFunctionMock(Strings::getNamespace(Server::class), $function); + $this->assertIsBool(Server::isCLI()); } }