From d3888efa7a7a3090a09cc30830f0750c22fbb80b Mon Sep 17 00:00:00 2001 From: Marcin Michalski Date: Mon, 25 Mar 2019 14:55:14 +0100 Subject: [PATCH] Update phpstan & easy coding standard (#366) --- composer.json | 6 +- composer.lock | 1048 ++++++++++------- ecs.yml | 16 +- phpstan.neon | 5 +- src/Classification/Ensemble/RandomForest.php | 14 +- .../Linear/LogisticRegression.php | 2 +- src/Clustering/FuzzyCMeans.php | 5 +- src/Dataset/SvmDataset.php | 2 +- .../UnivariateLinearRegression.php | 2 +- src/Math/Kernel/RBF.php | 9 +- .../LinearAlgebra/EigenvalueDecomposition.php | 5 +- .../Network/MultilayerPerceptron.php | 10 +- .../Optimizer/ConjugateGradientTest.php | 6 +- tests/Helper/Optimizer/GDTest.php | 4 +- tests/Helper/Optimizer/StochasticGDTest.php | 4 +- tests/Math/Kernel/RBFTest.php | 9 + 16 files changed, 652 insertions(+), 495 deletions(-) diff --git a/composer.json b/composer.json index 1604bbf..8b3b158 100644 --- a/composer.json +++ b/composer.json @@ -24,9 +24,9 @@ }, "require-dev": { "phpbench/phpbench": "^0.14.0", - "phpstan/phpstan-phpunit": "^0.10", - "phpstan/phpstan-shim": "^0.10", - "phpstan/phpstan-strict-rules": "^0.10", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", "phpunit/phpunit": "^7.0.0", "symplify/coding-standard": "^5.1", "symplify/easy-coding-standard": "^5.1" diff --git a/composer.lock b/composer.lock index fd930b9..62a34e0 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": "9ec1ca6b843d05e0870bd777026d7a8b", + "content-hash": "dee9be6daf48915171d2778b17d941fa", "packages": [], "packages-dev": [ { @@ -64,16 +64,16 @@ }, { "name": "composer/semver", - "version": "1.4.2", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", + "url": "https://api.github.com/repos/composer/semver/zipball/46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e", "shasum": "" }, "require": { @@ -122,20 +122,20 @@ "validation", "versioning" ], - "time": "2016-08-30T16:08:34+00:00" + "time": "2019-03-19T17:25:45+00:00" }, { "name": "composer/xdebug-handler", - "version": "1.3.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "dc523135366eb68f22268d069ea7749486458562" + "reference": "d17708133b6c276d6e42ef887a877866b909d892" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/dc523135366eb68f22268d069ea7749486458562", - "reference": "dc523135366eb68f22268d069ea7749486458562", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/d17708133b6c276d6e42ef887a877866b909d892", + "reference": "d17708133b6c276d6e42ef887a877866b909d892", "shasum": "" }, "require": { @@ -166,7 +166,7 @@ "Xdebug", "performance" ], - "time": "2018-11-29T10:59:02+00:00" + "time": "2019-01-28T20:25:53+00:00" }, { "name": "doctrine/annotations", @@ -237,28 +237,97 @@ "time": "2017-12-06T07:11:42+00:00" }, { - "name": "doctrine/instantiator", - "version": "1.1.0", + "name": "doctrine/inflector", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + "url": "https://github.com/doctrine/inflector.git", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { - "athletic/athletic": "~0.1.8", + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2018-01-09T20:05:19+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "a2c590166b2133a4633738648b6b064edae0814a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", "ext-pdo": "*", "ext-phar": "*", - "phpunit/phpunit": "^6.2.3", - "squizlabs/php_codesniffer": "^3.0.2" + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { @@ -283,12 +352,12 @@ } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ "constructor", "instantiate" ], - "time": "2017-07-22T11:58:36+00:00" + "time": "2019-03-17T17:37:11+00:00" }, { "name": "doctrine/lexer", @@ -346,16 +415,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v2.13.1", + "version": "v2.14.2", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "54814c62d5beef3ba55297b9b3186ed8b8a1b161" + "reference": "ff401e58261ffc5934a58f795b3f95b355e276cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/54814c62d5beef3ba55297b9b3186ed8b8a1b161", - "reference": "54814c62d5beef3ba55297b9b3186ed8b8a1b161", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/ff401e58261ffc5934a58f795b3f95b355e276cb", + "reference": "ff401e58261ffc5934a58f795b3f95b355e276cb", "shasum": "" }, "require": { @@ -364,7 +433,7 @@ "doctrine/annotations": "^1.2", "ext-json": "*", "ext-tokenizer": "*", - "php": "^5.6 || >=7.0 <7.3", + "php": "^5.6 || ^7.0", "php-cs-fixer/diff": "^1.3", "symfony/console": "^3.4.17 || ^4.1.6", "symfony/event-dispatcher": "^3.0 || ^4.0", @@ -376,13 +445,10 @@ "symfony/process": "^3.0 || ^4.0", "symfony/stopwatch": "^3.0 || ^4.0" }, - "conflict": { - "hhvm": "*" - }, "require-dev": { "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", "justinrainbow/json-schema": "^5.0", - "keradus/cli-executor": "^1.1", + "keradus/cli-executor": "^1.2", "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.1", "php-cs-fixer/accessible-object": "^1.0", @@ -433,7 +499,112 @@ } ], "description": "A tool to automatically fix PHP code style", - "time": "2018-10-21T00:32:10+00:00" + "time": "2019-02-17T17:44:13+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v5.8.4", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "3e3a9a654adbf798e05491a5dbf90112df1effde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/3e3a9a654adbf798e05491a5dbf90112df1effde", + "reference": "3e3a9a654adbf798e05491a5dbf90112df1effde", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "time": "2019-02-18T18:37:54+00:00" + }, + { + "name": "illuminate/support", + "version": "v5.8.4", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "07062f5750872a31e086ff37a7c50ac18b8c417c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/07062f5750872a31e086ff37a7c50ac18b8c417c", + "reference": "07062f5750872a31e086ff37a7c50ac18b8c417c", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.1", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/contracts": "5.8.*", + "nesbot/carbon": "^1.26.3 || ^2.0", + "php": "^7.1.3" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (5.8.*).", + "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "ramsey/uuid": "Required to use Str::uuid() (^3.7).", + "symfony/process": "Required to use the composer class (^4.2).", + "symfony/var-dumper": "Required to use the dd function (^4.2).", + "vlucas/phpdotenv": "Required to use the env helper (^3.3)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "time": "2019-03-12T13:17:00+00:00" }, { "name": "jean85/pretty-package-versions", @@ -674,34 +845,94 @@ "time": "2018-06-11T23:09:50+00:00" }, { - "name": "nette/finder", - "version": "v2.4.2", + "name": "nesbot/carbon", + "version": "2.16.0", "source": { "type": "git", - "url": "https://github.com/nette/finder.git", - "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0" + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "dd16fedc022180ea4292a03aabe95e9895677911" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/ee951a656cb8ac622e5dd33474a01fd2470505a0", - "reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/dd16fedc022180ea4292a03aabe95e9895677911", + "reference": "dd16fedc022180ea4292a03aabe95e9895677911", "shasum": "" }, "require": { - "nette/utils": "~2.4", - "php": ">=5.6.0" + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "symfony/translation": "^3.4 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "kylekatarnls/multi-tester": "^0.1", + "phpmd/phpmd": "^2.6", + "phpstan/phpstan": "^0.10.8", + "phpunit/phpunit": "^7.5 || ^8.0", + "squizlabs/php_codesniffer": "^3.4" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2019-03-12T09:31:40+00:00" + }, + { + "name": "nette/finder", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/nette/finder.git", + "reference": "6be1b83ea68ac558aff189d640abe242e0306fe2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/finder/zipball/6be1b83ea68ac558aff189d640abe242e0306fe2", + "reference": "6be1b83ea68ac558aff189d640abe242e0306fe2", + "shasum": "" + }, + "require": { + "nette/utils": "^2.4 || ~3.0.0", + "php": ">=7.1" }, "conflict": { "nette/nette": "<2.2" }, "require-dev": { - "nette/tester": "~2.0", + "nette/tester": "^2.0", "tracy/tracy": "^2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.5-dev" } }, "autoload": { @@ -733,20 +964,20 @@ "iterator", "nette" ], - "time": "2018-06-28T11:49:23+00:00" + "time": "2019-02-28T18:13:25+00:00" }, { "name": "nette/robot-loader", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/nette/robot-loader.git", - "reference": "fc76c70e740b10f091e502b2e393d0be912f38d4" + "reference": "3e8d75d6d976e191bdf46752ca40a286671219d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/fc76c70e740b10f091e502b2e393d0be912f38d4", - "reference": "fc76c70e740b10f091e502b2e393d0be912f38d4", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/3e8d75d6d976e191bdf46752ca40a286671219d2", + "reference": "3e8d75d6d976e191bdf46752ca40a286671219d2", "shasum": "" }, "require": { @@ -798,7 +1029,7 @@ "nette", "trait" ], - "time": "2018-08-13T14:19:06+00:00" + "time": "2019-03-01T20:23:02+00:00" }, { "name": "nette/utils", @@ -884,16 +1115,16 @@ }, { "name": "ocramius/package-versions", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f" + "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", + "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", "shasum": "" }, "require": { @@ -902,6 +1133,7 @@ }, "require-dev": { "composer/composer": "^1.6.3", + "doctrine/coding-standard": "^5.0.1", "ext-zip": "*", "infection/infection": "^0.7.1", "phpunit/phpunit": "^7.0.0" @@ -929,7 +1161,7 @@ } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "time": "2018-02-05T13:05:30+00:00" + "time": "2019-02-21T12:16:21+00:00" }, { "name": "paragonie/random_compat", @@ -1508,22 +1740,23 @@ }, { "name": "phpstan/phpstan-phpunit", - "version": "0.10", + "version": "0.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "6feecc7faae187daa6be44140cd0f1ba210e6aa0" + "reference": "70c22d44b96a21a4952fc13021a5a63cc83f5c81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/6feecc7faae187daa6be44140cd0f1ba210e6aa0", - "reference": "6feecc7faae187daa6be44140cd0f1ba210e6aa0", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/70c22d44b96a21a4952fc13021a5a63cc83f5c81", + "reference": "70c22d44b96a21a4952fc13021a5a63cc83f5c81", "shasum": "" }, "require": { "nikic/php-parser": "^4.0", "php": "~7.1", - "phpstan/phpstan": "^0.10" + "phpstan/phpdoc-parser": "^0.3", + "phpstan/phpstan": "^0.11" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -1533,7 +1766,7 @@ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", "jakub-onderka/php-parallel-lint": "^1.0", "phing/phing": "^2.16.0", - "phpstan/phpstan-strict-rules": "^0.10", + "phpstan/phpstan-strict-rules": "^0.11", "phpunit/phpunit": "^7.0", "satooshi/php-coveralls": "^1.0", "slevomat/coding-standard": "^4.5.2" @@ -1541,7 +1774,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.10-dev" + "dev-master": "0.11-dev" } }, "autoload": { @@ -1554,20 +1787,20 @@ "MIT" ], "description": "PHPUnit extensions and rules for PHPStan", - "time": "2018-06-22T18:12:17+00:00" + "time": "2018-12-22T14:05:04+00:00" }, { "name": "phpstan/phpstan-shim", - "version": "0.10.6", + "version": "0.11.4", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-shim.git", - "reference": "c729ee281588bdb73ae50051503a6785aed46721" + "reference": "70e1a346907142449ac085745f158aa715b4e0b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-shim/zipball/c729ee281588bdb73ae50051503a6785aed46721", - "reference": "c729ee281588bdb73ae50051503a6785aed46721", + "url": "https://api.github.com/repos/phpstan/phpstan-shim/zipball/70e1a346907142449ac085745f158aa715b4e0b8", + "reference": "70e1a346907142449ac085745f158aa715b4e0b8", "shasum": "" }, "require": { @@ -1585,7 +1818,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.10-dev" + "dev-master": "0.11-dev" } }, "autoload": { @@ -1598,40 +1831,40 @@ "MIT" ], "description": "PHPStan Phar distribution", - "time": "2018-12-04T07:53:38+00:00" + "time": "2019-03-14T15:24:47+00:00" }, { "name": "phpstan/phpstan-strict-rules", - "version": "0.10.1", + "version": "0.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "18c0b6e8899606b127c680402ab473a7b67166db" + "reference": "747a742b26a35ef4e4ebef5ec4490ad74eebcbc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/18c0b6e8899606b127c680402ab473a7b67166db", - "reference": "18c0b6e8899606b127c680402ab473a7b67166db", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/747a742b26a35ef4e4ebef5ec4490ad74eebcbc0", + "reference": "747a742b26a35ef4e4ebef5ec4490ad74eebcbc0", "shasum": "" }, "require": { "nikic/php-parser": "^4.0", "php": "~7.1", - "phpstan/phpstan": "^0.10" + "phpstan/phpstan": "^0.11" }, "require-dev": { "consistence/coding-standard": "^3.0.1", "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", "jakub-onderka/php-parallel-lint": "^1.0", "phing/phing": "^2.16.0", - "phpstan/phpstan-phpunit": "^0.10", + "phpstan/phpstan-phpunit": "^0.11", "phpunit/phpunit": "^7.0", "slevomat/coding-standard": "^4.5.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.10-dev" + "dev-master": "0.11-dev" } }, "autoload": { @@ -1644,7 +1877,7 @@ "MIT" ], "description": "Extra strict and opinionated rules for PHPStan", - "time": "2018-07-06T20:36:44+00:00" + "time": "2019-01-14T09:56:55+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1802,16 +2035,16 @@ }, { "name": "phpunit/php-timer", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" + "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059", + "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059", "shasum": "" }, "require": { @@ -1823,7 +2056,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -1847,7 +2080,7 @@ "keywords": [ "timer" ], - "time": "2018-02-01T13:07:23+00:00" + "time": "2019-02-20T10:12:59+00:00" }, { "name": "phpunit/php-token-stream", @@ -1900,16 +2133,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.1", + "version": "7.5.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c23d78776ad415d5506e0679723cb461d71f488f" + "reference": "eb343b86753d26de07ecba7868fa983104361948" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c23d78776ad415d5506e0679723cb461d71f488f", - "reference": "c23d78776ad415d5506e0679723cb461d71f488f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/eb343b86753d26de07ecba7868fa983104361948", + "reference": "eb343b86753d26de07ecba7868fa983104361948", "shasum": "" }, "require": { @@ -1927,7 +2160,7 @@ "phpunit/php-code-coverage": "^6.0.7", "phpunit/php-file-iterator": "^2.0.1", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.0", + "phpunit/php-timer": "^2.1", "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0", "sebastian/environment": "^4.0", @@ -1980,7 +2213,7 @@ "testing", "xunit" ], - "time": "2018-12-12T07:20:32+00:00" + "time": "2019-03-16T07:31:17+00:00" }, { "name": "psr/cache", @@ -2283,23 +2516,23 @@ }, { "name": "sebastian/diff", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "366541b989927187c4ca70490a35615d3fef2dce" + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce", - "reference": "366541b989927187c4ca70490a35615d3fef2dce", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^7.0", + "phpunit/phpunit": "^7.5 || ^8.0", "symfony/process": "^2 || ^3.3 || ^4" }, "type": "library", @@ -2335,32 +2568,35 @@ "unidiff", "unified diff" ], - "time": "2018-06-10T07:54:39+00:00" + "time": "2019-02-04T06:01:07+00:00" }, { "name": "sebastian/environment", - "version": "4.0.1", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f" + "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/febd209a219cea7b56ad799b30ebbea34b71eb8f", - "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6fda8ce1974b62b14935adc02a9ed38252eca656", + "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^7.4" + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2385,7 +2621,7 @@ "environment", "hhvm" ], - "time": "2018-11-25T09:31:21+00:00" + "time": "2019-02-01T05:27:49+00:00" }, { "name": "sebastian/exporter", @@ -2786,26 +3022,26 @@ }, { "name": "slam/php-cs-fixer-extensions", - "version": "v1.17.0", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/Slamdunk/php-cs-fixer-extensions.git", - "reference": "f2d819ff70cc098f68cd2eefd3279c2f54e0ccad" + "reference": "da18f089d1c559915d3c25d5e8783c7b7d272d1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Slamdunk/php-cs-fixer-extensions/zipball/f2d819ff70cc098f68cd2eefd3279c2f54e0ccad", - "reference": "f2d819ff70cc098f68cd2eefd3279c2f54e0ccad", + "url": "https://api.github.com/repos/Slamdunk/php-cs-fixer-extensions/zipball/da18f089d1c559915d3c25d5e8783c7b7d272d1d", + "reference": "da18f089d1c559915d3c25d5e8783c7b7d272d1d", "shasum": "" }, "require": { - "friendsofphp/php-cs-fixer": "^2.13", + "friendsofphp/php-cs-fixer": "^2.14", "php": "^7.1" }, "require-dev": { "phpstan/phpstan": "^0.10", "phpstan/phpstan-phpunit": "^0.10", - "phpunit/phpunit": "^7.3", + "phpunit/phpunit": "^7.5", "roave/security-advisories": "dev-master", "slam/php-debug-r": "^1.4", "slam/phpstan-extensions": "^2.0", @@ -2829,33 +3065,34 @@ } ], "description": "Slam extension of friendsofphp/php-cs-fixer", - "time": "2018-08-30T15:03:51+00:00" + "time": "2019-01-07T15:02:12+00:00" }, { "name": "slevomat/coding-standard", - "version": "4.8.6", + "version": "5.0.4", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "af0c0c99e84106525484ef25f15144b9831522bb" + "reference": "287ac3347c47918c0bf5e10335e36197ea10894c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/af0c0c99e84106525484ef25f15144b9831522bb", - "reference": "af0c0c99e84106525484ef25f15144b9831522bb", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/287ac3347c47918c0bf5e10335e36197ea10894c", + "reference": "287ac3347c47918c0bf5e10335e36197ea10894c", "shasum": "" }, "require": { "php": "^7.1", - "squizlabs/php_codesniffer": "^3.3.1" + "phpstan/phpdoc-parser": "^0.3.1", + "squizlabs/php_codesniffer": "^3.4.1" }, "require-dev": { "jakub-onderka/php-parallel-lint": "1.0.0", "phing/phing": "2.16.1", - "phpstan/phpstan": "0.9.2", - "phpstan/phpstan-phpunit": "0.9.4", - "phpstan/phpstan-strict-rules": "0.9", - "phpunit/phpunit": "7.3.5" + "phpstan/phpstan": "0.11.4", + "phpstan/phpstan-phpunit": "0.11", + "phpstan/phpstan-strict-rules": "0.11", + "phpunit/phpunit": "8.0.5" }, "type": "phpcodesniffer-standard", "autoload": { @@ -2868,20 +3105,20 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "time": "2018-11-03T21:28:29+00:00" + "time": "2019-03-22T19:10:53+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.3.2", + "version": "3.4.1", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e" + "reference": "5b4333b4010625d29580eb4a41f1e53251be6baa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6ad28354c04b364c3c71a34e4a18b629cc3b231e", - "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5b4333b4010625d29580eb4a41f1e53251be6baa", + "reference": "5b4333b4010625d29580eb4a41f1e53251be6baa", "shasum": "" }, "require": { @@ -2914,25 +3151,25 @@ } ], "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", "keywords": [ "phpcs", "standards" ], - "time": "2018-09-23T23:08:17+00:00" + "time": "2019-03-19T03:22:27+00:00" }, { "name": "symfony/cache", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "5c4b50d6ba4f1c8955c3454444c1e3cfddaaad41" + "reference": "b5c650406953f2f44a37c4f3ac66152fafc22c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/5c4b50d6ba4f1c8955c3454444c1e3cfddaaad41", - "reference": "5c4b50d6ba4f1c8955c3454444c1e3cfddaaad41", + "url": "https://api.github.com/repos/symfony/cache/zipball/b5c650406953f2f44a37c4f3ac66152fafc22c66", + "reference": "b5c650406953f2f44a37c4f3ac66152fafc22c66", "shasum": "" }, "require": { @@ -2996,20 +3233,20 @@ "caching", "psr6" ], - "time": "2018-12-06T11:00:08+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/config", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "005d9a083d03f588677d15391a716b1ac9b887c0" + "reference": "7f70d79c7a24a94f8e98abb988049403a53d7b31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/005d9a083d03f588677d15391a716b1ac9b887c0", - "reference": "005d9a083d03f588677d15391a716b1ac9b887c0", + "url": "https://api.github.com/repos/symfony/config/zipball/7f70d79c7a24a94f8e98abb988049403a53d7b31", + "reference": "7f70d79c7a24a94f8e98abb988049403a53d7b31", "shasum": "" }, "require": { @@ -3059,20 +3296,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-11-30T22:21:14+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/console", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0" + "reference": "9dc2299a016497f9ee620be94524e6c0af0280a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/4dff24e5d01e713818805c1862d2e3f901ee7dd0", - "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0", + "url": "https://api.github.com/repos/symfony/console/zipball/9dc2299a016497f9ee620be94524e6c0af0280a9", + "reference": "9dc2299a016497f9ee620be94524e6c0af0280a9", "shasum": "" }, "require": { @@ -3084,6 +3321,9 @@ "symfony/dependency-injection": "<3.4", "symfony/process": "<3.3" }, + "provide": { + "psr/log-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", @@ -3093,7 +3333,7 @@ "symfony/process": "~3.4|~4.0" }, "suggest": { - "psr/log-implementation": "For using the console logger", + "psr/log": "For using the console logger", "symfony/event-dispatcher": "", "symfony/lock": "", "symfony/process": "" @@ -3128,7 +3368,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-11-27T07:40:44+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/contracts", @@ -3200,16 +3440,16 @@ }, { "name": "symfony/debug", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "e0a2b92ee0b5b934f973d90c2f58e18af109d276" + "reference": "de73f48977b8eaf7ce22814d66e43a1662cc864f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e0a2b92ee0b5b934f973d90c2f58e18af109d276", - "reference": "e0a2b92ee0b5b934f973d90c2f58e18af109d276", + "url": "https://api.github.com/repos/symfony/debug/zipball/de73f48977b8eaf7ce22814d66e43a1662cc864f", + "reference": "de73f48977b8eaf7ce22814d66e43a1662cc864f", "shasum": "" }, "require": { @@ -3252,20 +3492,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-11-28T18:24:18+00:00" + "time": "2019-03-03T18:11:24+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e4adc57a48d3fa7f394edfffa9e954086d7740e5" + "reference": "cdadb3765df7c89ac93628743913b92bb91f1704" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e4adc57a48d3fa7f394edfffa9e954086d7740e5", - "reference": "e4adc57a48d3fa7f394edfffa9e954086d7740e5", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/cdadb3765df7c89ac93628743913b92bb91f1704", + "reference": "cdadb3765df7c89ac93628743913b92bb91f1704", "shasum": "" }, "require": { @@ -3325,20 +3565,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-12-02T15:59:36+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "921f49c3158a276d27c0d770a5a347a3b718b328" + "reference": "3354d2e6af986dd71f68b4e5cf4a933ab58697fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/921f49c3158a276d27c0d770a5a347a3b718b328", - "reference": "921f49c3158a276d27c0d770a5a347a3b718b328", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3354d2e6af986dd71f68b4e5cf4a933ab58697fb", + "reference": "3354d2e6af986dd71f68b4e5cf4a933ab58697fb", "shasum": "" }, "require": { @@ -3389,20 +3629,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-12-01T08:52:38+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/filesystem", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710" + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/2f4c8b999b3b7cadb2a69390b01af70886753710", - "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e16b9e471703b2c60b95f14d31c1239f68f11601", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601", "shasum": "" }, "require": { @@ -3439,20 +3679,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-11-11T19:52:12+00:00" + "time": "2019-02-07T11:40:08+00:00" }, { "name": "symfony/finder", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d" + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e53d477d7b5c4982d0e1bfd2298dbee63d01441d", - "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d", + "url": "https://api.github.com/repos/symfony/finder/zipball/267b7002c1b70ea80db0833c3afe05f0fbde580a", + "reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a", "shasum": "" }, "require": { @@ -3488,20 +3728,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-11-11T19:52:12+00:00" + "time": "2019-02-23T15:42:05+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "1b31f3017fadd8cb05cf2c8aebdbf3b12a943851" + "reference": "850a667d6254ccf6c61d853407b16f21c4579c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1b31f3017fadd8cb05cf2c8aebdbf3b12a943851", - "reference": "1b31f3017fadd8cb05cf2c8aebdbf3b12a943851", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/850a667d6254ccf6c61d853407b16f21c4579c77", + "reference": "850a667d6254ccf6c61d853407b16f21c4579c77", "shasum": "" }, "require": { @@ -3542,20 +3782,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2018-11-26T10:55:26+00:00" + "time": "2019-02-26T08:03:39+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b39ceffc0388232c309cbde3a7c3685f2ec0a624" + "reference": "895ceccaa8149f9343e6134e607c21da42d73b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b39ceffc0388232c309cbde3a7c3685f2ec0a624", - "reference": "b39ceffc0388232c309cbde3a7c3685f2ec0a624", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/895ceccaa8149f9343e6134e607c21da42d73b7a", + "reference": "895ceccaa8149f9343e6134e607c21da42d73b7a", "shasum": "" }, "require": { @@ -3631,20 +3871,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2018-12-06T17:39:52+00:00" + "time": "2019-03-03T19:38:09+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba" + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", - "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/3896e5a7d06fd15fa4947694c8dcdd371ff147d1", + "reference": "3896e5a7d06fd15fa4947694c8dcdd371ff147d1", "shasum": "" }, "require": { @@ -3685,20 +3925,20 @@ "configuration", "options" ], - "time": "2018-11-11T19:52:12+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + "reference": "82ebae02209c21113908c229e9883c419720738a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", "shasum": "" }, "require": { @@ -3710,7 +3950,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3743,20 +3983,20 @@ "polyfill", "portable" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", "shasum": "" }, "require": { @@ -3768,7 +4008,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3802,20 +4042,20 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" + "reference": "bc4858fb611bda58719124ca079baff854149c89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", + "reference": "bc4858fb611bda58719124ca079baff854149c89", "shasum": "" }, "require": { @@ -3825,7 +4065,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3861,20 +4101,20 @@ "portable", "shim" ], - "time": "2018-09-21T06:26:08+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" + "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", - "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/ab50dcf166d5f577978419edd37aa2bb8eabce0c", + "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c", "shasum": "" }, "require": { @@ -3883,7 +4123,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -3916,20 +4156,20 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/process", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0" + "reference": "6c05edb11fbeff9e2b324b4270ecb17911a8b7ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/2b341009ccec76837a7f46f59641b431e4d4c2b0", - "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0", + "url": "https://api.github.com/repos/symfony/process/zipball/6c05edb11fbeff9e2b324b4270ecb17911a8b7ad", + "reference": "6c05edb11fbeff9e2b324b4270ecb17911a8b7ad", "shasum": "" }, "require": { @@ -3965,20 +4205,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-11-20T16:22:05+00:00" + "time": "2019-01-24T22:05:03+00:00" }, { "name": "symfony/stopwatch", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "ec076716412274e51f8a7ea675d9515e5c311123" + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/ec076716412274e51f8a7ea675d9515e5c311123", - "reference": "ec076716412274e51f8a7ea675d9515e5c311123", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b1a5f646d56a3290230dbc8edf2a0d62cda23f67", + "reference": "b1a5f646d56a3290230dbc8edf2a0d62cda23f67", "shasum": "" }, "require": { @@ -4015,20 +4255,93 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2018-11-11T19:52:12+00:00" + "time": "2019-01-16T20:31:39+00:00" }, { - "name": "symfony/var-exporter", - "version": "v4.2.1", + "name": "symfony/translation", + "version": "v4.2.4", "source": { "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "a39222e357362424b61dcde50e2f7b5a7d3306db" + "url": "https://github.com/symfony/translation.git", + "reference": "748464177a77011f8f4cdd076773862ce4915f8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a39222e357362424b61dcde50e2f7b5a7d3306db", - "reference": "a39222e357362424b61dcde50e2f7b5a7d3306db", + "url": "https://api.github.com/repos/symfony/translation/zipball/748464177a77011f8f4cdd076773862ce4915f8f", + "reference": "748464177a77011f8f4cdd076773862ce4915f8f", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/contracts": "^1.0.2", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "symfony/translation-contracts-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/intl": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2019-02-27T03:31:50+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "d8bf4424c232b55f4c1816037d3077a89258557e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d8bf4424c232b55f4c1816037d3077a89258557e", + "reference": "d8bf4424c232b55f4c1816037d3077a89258557e", "shasum": "" }, "require": { @@ -4075,20 +4388,20 @@ "instantiate", "serialize" ], - "time": "2018-12-03T22:40:09+00:00" + "time": "2019-01-16T20:35:37+00:00" }, { "name": "symfony/yaml", - "version": "v4.2.1", + "version": "v4.2.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c41175c801e3edfda90f32e292619d10c27103d7" + "reference": "761fa560a937fd7686e5274ff89dcfa87a5047df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c41175c801e3edfda90f32e292619d10c27103d7", - "reference": "c41175c801e3edfda90f32e292619d10c27103d7", + "url": "https://api.github.com/repos/symfony/yaml/zipball/761fa560a937fd7686e5274ff89dcfa87a5047df", + "reference": "761fa560a937fd7686e5274ff89dcfa87a5047df", "shasum": "" }, "require": { @@ -4134,41 +4447,41 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-11-11T19:52:12+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symplify/better-phpdoc-parser", - "version": "v5.2.17", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/Symplify/BetterPhpDocParser.git", - "reference": "cbdae4a58aa36016160a14ff9e4283fb8169448c" + "reference": "a730f69c4b19c741f13b4d05116da7bb64e3db26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/BetterPhpDocParser/zipball/cbdae4a58aa36016160a14ff9e4283fb8169448c", - "reference": "cbdae4a58aa36016160a14ff9e4283fb8169448c", + "url": "https://api.github.com/repos/Symplify/BetterPhpDocParser/zipball/a730f69c4b19c741f13b4d05116da7bb64e3db26", + "reference": "a730f69c4b19c741f13b4d05116da7bb64e3db26", "shasum": "" }, "require": { "nette/utils": "^2.5", "php": "^7.1", - "phpstan/phpdoc-parser": "^0.3", - "symplify/package-builder": "^5.2.17", - "thecodingmachine/safe": "^0.1.6" + "phpstan/phpdoc-parser": "^0.3.1", + "symplify/package-builder": "^5.4.16" }, "require-dev": { - "phpunit/phpunit": "^7.3" + "phpunit/phpunit": "^7.5|^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.5-dev" } }, "autoload": { "psr-4": { - "Symplify\\BetterPhpDocParser\\": "src" + "Symplify\\BetterPhpDocParser\\": "src", + "Symplify\\BetterPhpDocParser\\Attributes\\": "packages/Attributes/src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4176,47 +4489,48 @@ "MIT" ], "description": "Slim wrapper around phpstan/phpdoc-parser with format preserving printer", - "time": "2018-12-12T11:50:57+00:00" + "time": "2019-03-05T23:15:04+00:00" }, { "name": "symplify/coding-standard", - "version": "v5.2.17", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/Symplify/CodingStandard.git", - "reference": "7e73f270bd3b41931f63b767956354f0236c45cc" + "reference": "72a3b03f21be6c978a90ad567a29bd9261df0dfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/CodingStandard/zipball/7e73f270bd3b41931f63b767956354f0236c45cc", - "reference": "7e73f270bd3b41931f63b767956354f0236c45cc", + "url": "https://api.github.com/repos/Symplify/CodingStandard/zipball/72a3b03f21be6c978a90ad567a29bd9261df0dfa", + "reference": "72a3b03f21be6c978a90ad567a29bd9261df0dfa", "shasum": "" }, "require": { - "friendsofphp/php-cs-fixer": "^2.13", + "friendsofphp/php-cs-fixer": "^2.14", "nette/finder": "^2.4", "nette/utils": "^2.5", "php": "^7.1", "slam/php-cs-fixer-extensions": "^1.17", - "squizlabs/php_codesniffer": "^3.3", - "symplify/token-runner": "^5.2.17", - "thecodingmachine/safe": "^0.1.6" + "squizlabs/php_codesniffer": "^3.4", + "symplify/better-phpdoc-parser": "^5.4.16", + "symplify/package-builder": "^5.4.16" }, "require-dev": { "nette/application": "^2.4", - "phpunit/phpunit": "^7.3", - "symplify/easy-coding-standard-tester": "^5.2.17", - "symplify/package-builder": "^5.2.17" + "phpunit/phpunit": "^7.5|^8.0", + "symplify/easy-coding-standard-tester": "^5.4.16", + "symplify/package-builder": "^5.4.16" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.5-dev" } }, "autoload": { "psr-4": { - "Symplify\\CodingStandard\\": "src" + "Symplify\\CodingStandard\\": "src", + "Symplify\\CodingStandard\\TokenRunner\\": "packages/TokenRunner/src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4224,32 +4538,32 @@ "MIT" ], "description": "Set of Symplify rules for PHP_CodeSniffer and PHP CS Fixer.", - "time": "2018-12-12T11:50:57+00:00" + "time": "2019-03-05T23:15:04+00:00" }, { "name": "symplify/easy-coding-standard", - "version": "v5.2.17", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/Symplify/EasyCodingStandard.git", - "reference": "e63f0d3d465104d730016e51aeac39cc73485c55" + "reference": "66ed360e0b81881336c7339989dce3b0c14509e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/EasyCodingStandard/zipball/e63f0d3d465104d730016e51aeac39cc73485c55", - "reference": "e63f0d3d465104d730016e51aeac39cc73485c55", + "url": "https://api.github.com/repos/Symplify/EasyCodingStandard/zipball/66ed360e0b81881336c7339989dce3b0c14509e9", + "reference": "66ed360e0b81881336c7339989dce3b0c14509e9", "shasum": "" }, "require": { "composer/xdebug-handler": "^1.3", - "friendsofphp/php-cs-fixer": "^2.13", + "friendsofphp/php-cs-fixer": "^2.14", "jean85/pretty-package-versions": "^1.2", "nette/robot-loader": "^3.1.0", "nette/utils": "^2.5", "ocramius/package-versions": "^1.3", "php": "^7.1", - "slevomat/coding-standard": "^4.7", - "squizlabs/php_codesniffer": "^3.3", + "slevomat/coding-standard": "^5.0.1", + "squizlabs/php_codesniffer": "^3.4", "symfony/cache": "^3.4|^4.1", "symfony/config": "^3.4|^4.1", "symfony/console": "^3.4|^4.1", @@ -4257,14 +4571,12 @@ "symfony/finder": "^3.4|^4.1", "symfony/http-kernel": "^3.4|^4.1", "symfony/yaml": "^3.4|^4.1", - "symplify/coding-standard": "^5.2.17", - "symplify/package-builder": "^5.2.17", - "symplify/token-runner": "^5.2.17", - "thecodingmachine/safe": "^0.1.6" + "symplify/coding-standard": "^5.4.16", + "symplify/package-builder": "^5.4.16" }, "require-dev": { - "phpunit/phpunit": "^7.3", - "symplify/easy-coding-standard-tester": "^5.2.17" + "phpunit/phpunit": "^7.5|^8.0", + "symplify/easy-coding-standard-tester": "^5.4.16" }, "bin": [ "bin/ecs" @@ -4272,7 +4584,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.5-dev" } }, "autoload": { @@ -4289,23 +4601,24 @@ "MIT" ], "description": "Use Coding Standard with 0-knowledge of PHP-CS-Fixer and PHP_CodeSniffer.", - "time": "2018-12-12T11:50:57+00:00" + "time": "2019-03-05T23:15:04+00:00" }, { "name": "symplify/package-builder", - "version": "v5.2.17", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/Symplify/PackageBuilder.git", - "reference": "4a5a771e719aeecedea2d1e631a8f6be976c7130" + "reference": "20e04ad9cd15a53527807a62c8b244d8a114f779" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Symplify/PackageBuilder/zipball/4a5a771e719aeecedea2d1e631a8f6be976c7130", - "reference": "4a5a771e719aeecedea2d1e631a8f6be976c7130", + "url": "https://api.github.com/repos/Symplify/PackageBuilder/zipball/20e04ad9cd15a53527807a62c8b244d8a114f779", + "reference": "20e04ad9cd15a53527807a62c8b244d8a114f779", "shasum": "" }, "require": { + "illuminate/support": "^5.7", "nette/finder": "^2.4", "nette/utils": "^2.5", "php": "^7.1", @@ -4315,16 +4628,15 @@ "symfony/dependency-injection": "^3.4|^4.1", "symfony/finder": "^3.4|^4.1", "symfony/http-kernel": "^3.4|^4.1", - "symfony/yaml": "^3.4|^4.1", - "thecodingmachine/safe": "^0.1.6" + "symfony/yaml": "^3.4|^4.1" }, "require-dev": { - "phpunit/phpunit": "^7.3" + "phpunit/phpunit": "^7.5|^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.5-dev" } }, "autoload": { @@ -4337,182 +4649,7 @@ "MIT" ], "description": "Dependency Injection, Console and Kernel toolkit for Symplify packages.", - "time": "2018-12-12T11:50:51+00:00" - }, - { - "name": "symplify/token-runner", - "version": "v5.2.17", - "source": { - "type": "git", - "url": "https://github.com/Symplify/TokenRunner.git", - "reference": "b6e2657ac326b4944d162d5c6020056bc69766b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Symplify/TokenRunner/zipball/b6e2657ac326b4944d162d5c6020056bc69766b8", - "reference": "b6e2657ac326b4944d162d5c6020056bc69766b8", - "shasum": "" - }, - "require": { - "friendsofphp/php-cs-fixer": "^2.13", - "nette/finder": "^2.4", - "nette/utils": "^2.5", - "php": "^7.1", - "squizlabs/php_codesniffer": "^3.3", - "symplify/better-phpdoc-parser": "^5.2.17", - "symplify/package-builder": "^5.2.17", - "thecodingmachine/safe": "^0.1.6" - }, - "require-dev": { - "phpunit/phpunit": "^7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symplify\\TokenRunner\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Set of utils for PHP_CodeSniffer and PHP CS Fixer.", - "time": "2018-12-12T11:50:57+00:00" - }, - { - "name": "thecodingmachine/safe", - "version": "v0.1.8", - "source": { - "type": "git", - "url": "https://github.com/thecodingmachine/safe.git", - "reference": "4547d4684086d463b00cbd1a7763395280355e7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/4547d4684086d463b00cbd1a7763395280355e7d", - "reference": "4547d4684086d463b00cbd1a7763395280355e7d", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpstan/phpstan": "^0.10.3", - "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^0.10.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.1-dev" - } - }, - "autoload": { - "psr-4": { - "Safe\\": [ - "lib/", - "generated/" - ] - }, - "files": [ - "generated/apache.php", - "generated/apc.php", - "generated/apcu.php", - "generated/array.php", - "generated/bzip2.php", - "generated/classobj.php", - "generated/com.php", - "generated/cubrid.php", - "generated/curl.php", - "generated/datetime.php", - "generated/dir.php", - "generated/eio.php", - "generated/errorfunc.php", - "generated/exec.php", - "generated/fileinfo.php", - "generated/filesystem.php", - "generated/filter.php", - "generated/fpm.php", - "generated/ftp.php", - "generated/funchand.php", - "generated/gmp.php", - "generated/gnupg.php", - "generated/hash.php", - "generated/ibase.php", - "generated/ibmDb2.php", - "generated/iconv.php", - "generated/image.php", - "generated/imap.php", - "generated/info.php", - "generated/ingres-ii.php", - "generated/inotify.php", - "generated/json.php", - "generated/ldap.php", - "generated/libevent.php", - "generated/libxml.php", - "generated/lzf.php", - "generated/mailparse.php", - "generated/mbstring.php", - "generated/misc.php", - "generated/msql.php", - "generated/mssql.php", - "generated/mysql.php", - "generated/mysqlndMs.php", - "generated/mysqlndQc.php", - "generated/network.php", - "generated/oci8.php", - "generated/opcache.php", - "generated/openssl.php", - "generated/outcontrol.php", - "generated/password.php", - "generated/pcntl.php", - "generated/pcre.php", - "generated/pdf.php", - "generated/pgsql.php", - "generated/posix.php", - "generated/ps.php", - "generated/pspell.php", - "generated/readline.php", - "generated/rrd.php", - "generated/sem.php", - "generated/session.php", - "generated/shmop.php", - "generated/simplexml.php", - "generated/sockets.php", - "generated/sodium.php", - "generated/solr.php", - "generated/spl.php", - "generated/sqlsrv.php", - "generated/ssh2.php", - "generated/stats.php", - "generated/stream.php", - "generated/strings.php", - "generated/swoole.php", - "generated/uodbc.php", - "generated/uopz.php", - "generated/url.php", - "generated/var.php", - "generated/xdiff.php", - "generated/xml.php", - "generated/xmlrpc.php", - "generated/yaml.php", - "generated/yaz.php", - "generated/zip.php", - "generated/zlib.php", - "lib/special_cases.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHP core functions that throw exceptions instead of returning FALSE on error", - "time": "2018-11-13T09:01:03+00:00" + "time": "2019-03-03T15:32:34+00:00" }, { "name": "theseer/tokenizer", @@ -4556,20 +4693,21 @@ }, { "name": "webmozart/assert", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { "phpunit/phpunit": "^4.6", @@ -4602,7 +4740,7 @@ "check", "validate" ], - "time": "2018-01-29T19:49:41+00:00" + "time": "2018-12-25T11:19:39+00:00" } ], "aliases": [], diff --git a/ecs.yml b/ecs.yml index 405ef36..b19571e 100644 --- a/ecs.yml +++ b/ecs.yml @@ -30,14 +30,14 @@ services: Symplify\CodingStandard\Fixer\ArrayNotation\StandaloneLineInMultilineArrayFixer: ~ parameters: - exclude_checkers: - # from strict.neon - - 'PhpCsFixer\Fixer\PhpUnit\PhpUnitStrictFixer' - - 'PhpCsFixer\Fixer\Strict\StrictComparisonFixer' - # personal prefference - - 'PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer' - skip: + # from strict.neon + PhpCsFixer\Fixer\PhpUnit\PhpUnitStrictFixer: ~ + PhpCsFixer\Fixer\Strict\StrictComparisonFixer: ~ + + # personal prefference + PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer: ~ + PhpCsFixer\Fixer\Alias\RandomApiMigrationFixer: # random_int() breaks code - 'src/CrossValidation/RandomSplit.php' @@ -65,4 +65,4 @@ parameters: SlevomatCodingStandard\Sniffs\TypeHints\TypeHintDeclarationSniff.MissingTraversablePropertyTypeHintSpecification: ~ # assignment in "while ($var = ...)" are ok - PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff.FoundInWhileCondition: \ No newline at end of file + PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\AssignmentInConditionSniff.FoundInWhileCondition: diff --git a/phpstan.neon b/phpstan.neon index 0ee43c4..c2abfaf 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -7,9 +7,8 @@ parameters: ignoreErrors: - '#Property Phpml\\Clustering\\KMeans\\Cluster\:\:\$points \(iterable\\&SplObjectStorage\) does not accept SplObjectStorage#' - '#Phpml\\Dataset\\(.*)Dataset::__construct\(\) does not call parent constructor from Phpml\\Dataset\\ArrayDataset#' - - # wide range cases - - '#Parameter \#1 \$coordinates of class Phpml\\Clustering\\KMeans\\Point constructor expects array, array\|Phpml\\Clustering\\KMeans\\Point given#' + - '#Variable property access on .+#' + - '#Variable method call on .+#' # probably known value - '#Method Phpml\\Classification\\DecisionTree::getBestSplit\(\) should return Phpml\\Classification\\DecisionTree\\DecisionTreeLeaf but returns Phpml\\Classification\\DecisionTree\\DecisionTreeLeaf\|null#' diff --git a/src/Classification/Ensemble/RandomForest.php b/src/Classification/Ensemble/RandomForest.php index b75d7ae..71ea8d1 100644 --- a/src/Classification/Ensemble/RandomForest.php +++ b/src/Classification/Ensemble/RandomForest.php @@ -41,7 +41,7 @@ class RandomForest extends Bagging * Default value for the ratio is 'log' which results in log(numFeatures, 2) + 1 * features to be taken into consideration while selecting subspace of features * - * @param string|float $ratio + * @param mixed $ratio */ public function setFeatureSubsetRatio($ratio): self { @@ -73,7 +73,9 @@ class RandomForest extends Bagging throw new InvalidArgumentException('RandomForest can only use DecisionTree as base classifier'); } - return parent::setClassifer($classifier, $classifierOptions); + parent::setClassifer($classifier, $classifierOptions); + + return $this; } /** @@ -122,12 +124,16 @@ class RandomForest extends Bagging } /** - * @param DecisionTree $classifier - * * @return DecisionTree */ protected function initSingleClassifier(Classifier $classifier): Classifier { + if (!$classifier instanceof DecisionTree) { + throw new InvalidArgumentException( + sprintf('Classifier %s expected, got %s', DecisionTree::class, get_class($classifier)) + ); + } + if (is_float($this->featureSubsetRatio)) { $featureCount = (int) ($this->featureSubsetRatio * $this->featureCount); } elseif ($this->featureSubsetRatio === 'sqrt') { diff --git a/src/Classification/Linear/LogisticRegression.php b/src/Classification/Linear/LogisticRegression.php index 8ab6939..889ea98 100644 --- a/src/Classification/Linear/LogisticRegression.php +++ b/src/Classification/Linear/LogisticRegression.php @@ -226,7 +226,7 @@ class LogisticRegression extends Adaline $y = $y < 0 ? 0 : 1; - $error = ($y - $hX) ** 2; + $error = (($y - $hX) ** 2); $gradient = -($y - $hX) * $hX * (1 - $hX); return [$error, $gradient, $penalty]; diff --git a/src/Clustering/FuzzyCMeans.php b/src/Clustering/FuzzyCMeans.php index 3637ef6..abc53f1 100644 --- a/src/Clustering/FuzzyCMeans.php +++ b/src/Clustering/FuzzyCMeans.php @@ -77,9 +77,6 @@ class FuzzyCMeans implements Clusterer return $this->membership; } - /** - * @param Point[]|int[][] $samples - */ public function cluster(array $samples): array { // Initialize variables, clusters and membership matrix @@ -210,7 +207,7 @@ class FuzzyCMeans implements Clusterer $this->samples[$col] ); - $val = ($dist1 / $dist2) ** 2.0 / ($this->fuzziness - 1); + $val = (($dist1 / $dist2) ** 2.0) / ($this->fuzziness - 1); $sum += $val; } diff --git a/src/Dataset/SvmDataset.php b/src/Dataset/SvmDataset.php index 334ec6c..4ac951c 100644 --- a/src/Dataset/SvmDataset.php +++ b/src/Dataset/SvmDataset.php @@ -24,7 +24,7 @@ class SvmDataset extends ArrayDataset $targets = []; $maxIndex = 0; while (false !== $line = fgets($handle)) { - [$sample, $target, $maxIndex] = self::processLine((string) $line, $maxIndex); + [$sample, $target, $maxIndex] = self::processLine($line, $maxIndex); $samples[] = $sample; $targets[] = $target; } diff --git a/src/FeatureSelection/ScoringFunction/UnivariateLinearRegression.php b/src/FeatureSelection/ScoringFunction/UnivariateLinearRegression.php index 18d0ba9..13bdc99 100644 --- a/src/FeatureSelection/ScoringFunction/UnivariateLinearRegression.php +++ b/src/FeatureSelection/ScoringFunction/UnivariateLinearRegression.php @@ -46,7 +46,7 @@ final class UnivariateLinearRegression implements ScoringFunction foreach (array_keys($samples[0]) as $index) { $featureColumn = array_column($samples, $index); $correlations[$index] = - (Matrix::dot($targets, $featureColumn)[0] / (new Matrix($featureColumn, false))->transpose()->frobeniusNorm()) + Matrix::dot($targets, $featureColumn)[0] / (new Matrix($featureColumn, false))->transpose()->frobeniusNorm() / (new Matrix($targets, false))->frobeniusNorm(); } diff --git a/src/Math/Kernel/RBF.php b/src/Math/Kernel/RBF.php index 4f9cfaf..bf22d6f 100644 --- a/src/Math/Kernel/RBF.php +++ b/src/Math/Kernel/RBF.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace Phpml\Math\Kernel; +use Phpml\Exception\InvalidArgumentException; use Phpml\Math\Kernel; use Phpml\Math\Product; @@ -19,12 +20,12 @@ class RBF implements Kernel $this->gamma = $gamma; } - /** - * @param array $a - * @param array $b - */ public function compute($a, $b): float { + if (!is_array($a) || !is_array($b)) { + throw new InvalidArgumentException(sprintf('Arguments of %s must be arrays', __METHOD__)); + } + $score = 2 * Product::scalar($a, $b); $squares = Product::scalar($a, $a) + Product::scalar($b, $b); diff --git a/src/Math/LinearAlgebra/EigenvalueDecomposition.php b/src/Math/LinearAlgebra/EigenvalueDecomposition.php index cc68864..94f0a9e 100644 --- a/src/Math/LinearAlgebra/EigenvalueDecomposition.php +++ b/src/Math/LinearAlgebra/EigenvalueDecomposition.php @@ -502,7 +502,8 @@ class EigenvalueDecomposition } // Double division avoids possible underflow - $g = ($g / $this->ort[$m]) / $this->H[$m][$m - 1]; + $g /= $this->ort[$m]; + $g /= $this->H[$m][$m - 1]; for ($i = $m; $i <= $high; ++$i) { $this->V[$i][$j] += $g * $this->ort[$i]; } @@ -734,7 +735,7 @@ class EigenvalueDecomposition // Double QR step involving rows l:n and columns m:n for ($k = $m; $k <= $n - 1; ++$k) { - $notlast = ($k != $n - 1); + $notlast = $k != $n - 1; if ($k != $m) { $p = $this->H[$k][$k - 1]; $q = $this->H[$k + 1][$k - 1]; diff --git a/src/NeuralNetwork/Network/MultilayerPerceptron.php b/src/NeuralNetwork/Network/MultilayerPerceptron.php index 7fe08e1..e9e6b51 100644 --- a/src/NeuralNetwork/Network/MultilayerPerceptron.php +++ b/src/NeuralNetwork/Network/MultilayerPerceptron.php @@ -59,8 +59,14 @@ abstract class MultilayerPerceptron extends LayeredNetwork implements Estimator, /** * @throws InvalidArgumentException */ - public function __construct(int $inputLayerFeatures, array $hiddenLayers, array $classes, int $iterations = 10000, ?ActivationFunction $activationFunction = null, float $learningRate = 1) - { + public function __construct( + int $inputLayerFeatures, + array $hiddenLayers, + array $classes, + int $iterations = 10000, + ?ActivationFunction $activationFunction = null, + float $learningRate = 1. + ) { if (count($hiddenLayers) === 0) { throw new InvalidArgumentException('Provide at least 1 hidden layer'); } diff --git a/tests/Helper/Optimizer/ConjugateGradientTest.php b/tests/Helper/Optimizer/ConjugateGradientTest.php index 2080019..230900f 100644 --- a/tests/Helper/Optimizer/ConjugateGradientTest.php +++ b/tests/Helper/Optimizer/ConjugateGradientTest.php @@ -23,7 +23,7 @@ class ConjugateGradientTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; @@ -49,7 +49,7 @@ class ConjugateGradientTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; @@ -78,7 +78,7 @@ class ConjugateGradientTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0] + $theta[2] * $sample[1]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; diff --git a/tests/Helper/Optimizer/GDTest.php b/tests/Helper/Optimizer/GDTest.php index ecbd515..548a74b 100644 --- a/tests/Helper/Optimizer/GDTest.php +++ b/tests/Helper/Optimizer/GDTest.php @@ -22,7 +22,7 @@ class GDTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; @@ -49,7 +49,7 @@ class GDTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0] + $theta[2] * $sample[1]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; diff --git a/tests/Helper/Optimizer/StochasticGDTest.php b/tests/Helper/Optimizer/StochasticGDTest.php index ba3430b..075cee1 100644 --- a/tests/Helper/Optimizer/StochasticGDTest.php +++ b/tests/Helper/Optimizer/StochasticGDTest.php @@ -22,7 +22,7 @@ class StochasticGDTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; @@ -49,7 +49,7 @@ class StochasticGDTest extends TestCase $callback = function ($theta, $sample, $target) { $y = $theta[0] + $theta[1] * $sample[0] + $theta[2] * $sample[1]; - $cost = ($y - $target) ** 2 / 2; + $cost = (($y - $target) ** 2) / 2; $grad = $y - $target; return [$cost, $grad]; diff --git a/tests/Math/Kernel/RBFTest.php b/tests/Math/Kernel/RBFTest.php index bf24aab..15fbd2a 100644 --- a/tests/Math/Kernel/RBFTest.php +++ b/tests/Math/Kernel/RBFTest.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace Phpml\Tests\Math\Kernel; +use Phpml\Exception\InvalidArgumentException; use Phpml\Math\Kernel\RBF; use PHPUnit\Framework\TestCase; @@ -23,4 +24,12 @@ class RBFTest extends TestCase self::assertEquals(0.00451, $rbf->compute([1, 2, 3], [4, 5, 6]), '', $delta = 0.0001); self::assertEquals(0, $rbf->compute([4, 5], [1, 100])); } + + public function testThrowExceptionWhenComputeArgumentIsNotAnArray(): void + { + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage('Arguments of Phpml\\Math\\Kernel\\RBF::compute must be arrays'); + + (new RBF(0.1))->compute([0], 1.0); + } }