From 63202e9886bde9506d8927b1e5614aca08f99a30 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:31:21 +0900 Subject: [PATCH 01/11] Update Laradock --- .laradock/env-development | 60 ++++++++++++++++++++++++++++++++++----- laradock | 2 +- 2 files changed, 54 insertions(+), 8 deletions(-) diff --git a/.laradock/env-development b/.laradock/env-development index 6dace7a..986522d 100644 --- a/.laradock/env-development +++ b/.laradock/env-development @@ -38,7 +38,7 @@ COMPOSE_PROJECT_NAME=laradock-eloquent-serialized-lob ### PHP Version ########################################### # Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). -# Accepted values: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6 +# Accepted values: 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6 PHP_VERSION=7.4 ### Phalcon Version ########################################### @@ -100,6 +100,7 @@ SHELL_OH_MY_ZSH_ALIASES=false WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest WORKSPACE_COMPOSER_GLOBAL_INSTALL=true +WORKSPACE_COMPOSER_VERSION=2 WORKSPACE_COMPOSER_AUTH=false WORKSPACE_COMPOSER_REPO_PACKAGIST= WORKSPACE_NVM_NODEJS_ORG_MIRROR= @@ -122,6 +123,7 @@ WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_BZ2=false WORKSPACE_INSTALL_GMP=false +WORKSPACE_INSTALL_GNUPG=false WORKSPACE_INSTALL_XDEBUG=true WORKSPACE_INSTALL_PCOV=false WORKSPACE_INSTALL_PHPDBG=false @@ -137,7 +139,7 @@ WORKSPACE_INSTALL_CASSANDRA=false WORKSPACE_INSTALL_GEARMAN=false WORKSPACE_INSTALL_MSSQL=false WORKSPACE_INSTALL_DRUSH=false -WORKSPACE_DRUSH_VERSION=8.1.17 +WORKSPACE_DRUSH_VERSION=8.4.6 WORKSPACE_INSTALL_DRUPAL_CONSOLE=false WORKSPACE_INSTALL_WP_CLI=false WORKSPACE_INSTALL_AEROSPIKE=false @@ -146,7 +148,7 @@ WORKSPACE_INSTALL_V8JS=false WORKSPACE_INSTALL_LARAVEL_ENVOY=false WORKSPACE_INSTALL_LARAVEL_INSTALLER=false WORKSPACE_INSTALL_DEPLOYER=false -WORKSPACE_INSTALL_PRESTISSIMO=true +WORKSPACE_INSTALL_PRESTISSIMO=false WORKSPACE_INSTALL_LINUXBREW=false WORKSPACE_INSTALL_MC=false WORKSPACE_INSTALL_SYMFONY=false @@ -156,6 +158,7 @@ WORKSPACE_INSTALL_POWERLINE=false WORKSPACE_INSTALL_SUPERVISOR=false WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false WORKSPACE_INSTALL_IMAGEMAGICK=false +WORKSPACE_IMAGEMAGICK_VERSION=latest WORKSPACE_INSTALL_TERRAFORM=false WORKSPACE_INSTALL_DUSK_DEPS=false WORKSPACE_INSTALL_PG_CLIENT=false @@ -164,7 +167,7 @@ WORKSPACE_INSTALL_SWOOLE=false WORKSPACE_INSTALL_TAINT=false WORKSPACE_INSTALL_LIBPNG=false WORKSPACE_INSTALL_GRAPHVIZ=false -WORKSPACE_INSTALL_IONCUBE=false +WORKSPACE_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592 WORKSPACE_INSTALL_MYSQL_CLIENT=false WORKSPACE_INSTALL_PING=false WORKSPACE_INSTALL_SSHPASS=false @@ -184,16 +187,20 @@ WORKSPACE_INSTALL_AUDIOWAVEFORM=false WORKSPACE_INSTALL_WKHTMLTOPDF=false WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_AST=true -WORKSPACE_AST_VERSION=1.0.3 +WORKSPACE_AST_VERSION=1.0.10 WORKSPACE_BROWSERSYNC_HOST_PORT=3000 WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001 WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080 WORKSPACE_VUE_CLI_UI_HOST_PORT=8001 WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200 WORKSPACE_INSTALL_GIT_PROMPT=false +WORKSPACE_INSTALL_DOCKER_CLIENT=false WORKSPACE_INSTALL_LNAV=false WORKSPACE_INSTALL_PROTOC=false +WORKSPACE_INSTALL_PHPDECIMAL=false +WORKSPACE_INSTALL_ZOOKEEPER=false WORKSPACE_PROTOC_VERSION=latest +WORKSPACE_INSTALL_MEMCACHED=true ### PHP_FPM ############################################### @@ -202,12 +209,15 @@ PHP_FPM_INSTALL_BCMATH=true PHP_FPM_INSTALL_MYSQLI=true PHP_FPM_INSTALL_INTL=true PHP_FPM_INSTALL_IMAGEMAGICK=true +PHP_FPM_IMAGEMAGICK_VERSION=latest PHP_FPM_INSTALL_OPCACHE=true PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_BZ2=false +PHP_FPM_INSTALL_ENCHANT=false PHP_FPM_INSTALL_GMP=false +PHP_FPM_INSTALL_GNUPG=false PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_PCOV=false PHP_FPM_INSTALL_XHPROF=false @@ -236,7 +246,7 @@ PHP_FPM_INSTALL_POSTGIS=false PHP_FPM_INSTALL_PCNTL=false PHP_FPM_INSTALL_CALENDAR=false PHP_FPM_INSTALL_FAKETIME=false -PHP_FPM_INSTALL_IONCUBE=false +PHP_FPM_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592 PHP_FPM_INSTALL_RDKAFKA=false PHP_FPM_INSTALL_GETTEXT=false PHP_FPM_INSTALL_XMLRPC=false @@ -250,10 +260,14 @@ PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_MAILPARSE=false PHP_FPM_INSTALL_WKHTMLTOPDF=false +PHP_FPM_INSTALL_PHPDECIMAL=false +PHP_FPM_INSTALL_ZOOKEEPER=false PHP_FPM_FFMPEG=false PHP_FPM_AUDIOWAVEFORM=false PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8" +PHP_FPM_INSTALL_DOCKER_CLIENT=false PHP_FPM_DEFAULT_LOCALE=POSIX +PHP_FPM_XDEBUG_PORT=9003 PHP_FPM_PUID=1000 PHP_FPM_PGID=1000 @@ -269,9 +283,14 @@ PHP_FPM_NEW_RELIC_APP_NAME=app_name PHP_WORKER_INSTALL_BZ2=false PHP_WORKER_INSTALL_GD=false PHP_WORKER_INSTALL_IMAGEMAGICK=false +PHP_WORKER_IMAGEMAGICK_VERSION=latest PHP_WORKER_INSTALL_GMP=false +PHP_WORKER_INSTALL_GNUPG=false +PHP_WORKER_INSTALL_LDAP=false PHP_WORKER_INSTALL_PGSQL=false +PHP_WORKER_INSTALL_MONGO=false PHP_WORKER_INSTALL_BCMATH=false +PHP_WORKER_INSTALL_MEMCACHED=false # PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version PHP_WORKER_INSTALL_OCI8=false PHP_WORKER_INSTALL_PHALCON=false @@ -308,12 +327,16 @@ NGINX_SSL_PATH=./nginx/ssl/ LARAVEL_HORIZON_INSTALL_BZ2=false LARAVEL_HORIZON_INSTALL_GD=false LARAVEL_HORIZON_INSTALL_GMP=false +LARAVEL_HORIZON_INSTALL_GNUPG=false +LARAVEL_HORIZON_INSTALL_LDAP=false LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false +LARAVEL_HORIZON_IMAGEMAGICK_VERSION=latest LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_YAML=false LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false -LARAVEL_HORIZON_INSTALL_PHPREDIS=true +LARAVEL_HORIZON_INSTALL_PHPREDIS=false LARAVEL_HORIZON_INSTALL_MONGO=false +LARAVEL_HORIZON_INSTALL_CASSANDRA=false LARAVEL_HORIZON_INSTALL_FFMPEG=false LARAVEL_HORIZON_INSTALL_AUDIOWAVEFORM=false LARAVEL_HORIZON_PGID=1000 @@ -325,10 +348,12 @@ APACHE_HOST_HTTP_PORT=80 APACHE_HOST_HTTPS_PORT=443 APACHE_HOST_LOG_PATH=./logs/apache2 APACHE_SITES_PATH=./apache2/sites +APACHE_SSL_PATH=./apache2/ssl APACHE_PHP_UPSTREAM_CONTAINER=php-fpm APACHE_PHP_UPSTREAM_PORT=9000 APACHE_PHP_UPSTREAM_TIMEOUT=60 APACHE_DOCUMENT_ROOT=/var/www/ +APACHE_SSL_PATH=./apache2/ssl/ APACHE_INSTALL_HTTP2=false ### MYSQL ################################################# @@ -414,6 +439,15 @@ RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671 RABBITMQ_DEFAULT_USER=guest RABBITMQ_DEFAULT_PASS=guest +### MERCURE ############################################## + +MERCURE_NODE_HOST_HTTP_PORT=1337 +MERCURE_NODE_HOST_HTTPS_PORT=1338 +MERCURE_PUBLISHER_JWT_KEY=secret +MERCURE_SUBSCRIBER_JWT_KEY=another_secret +MERCURE_DEBUG=debug +MERCURE_SERVER_NAME=:80 + ### MEILISEARCH ########################################### MEILISEARCH_HOST_PORT=7700 @@ -474,6 +508,9 @@ PMA_USER=default PMA_PASSWORD=secret PMA_ROOT_PASSWORD=secret PMA_PORT=8081 +PMA_MAX_EXECUTION_TIME=600 +PMA_MEMORY_LIMIT=256M +PMA_UPLOAD_LIMIT=2G ### MAILDEV ############################################### @@ -854,6 +891,15 @@ PGADMIN_PORT=5050 PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org PGADMIN_DEFAULT_PASSWORD=admin +### SWAGGER EDITOR ########################################### + +SWAGGER_EDITOR_PORT=5151 + +### SWAGGER UI ############################################### + +SWAGGER_API_URL=http://generator.swagger.io/api/swagger.json +SWAGGER_UI_PORT=5555 + ### SONARQUBE ################################################ ## docker-compose up -d sonarqube ## (If you encounter a database error) diff --git a/laradock b/laradock index cfdae5c..4774281 160000 --- a/laradock +++ b/laradock @@ -1 +1 @@ -Subproject commit cfdae5c6a2270c0d8c34242a5af54c206e14d4f5 +Subproject commit 477428146e18c9038a4b094b01341f5fb573dd9f From 224dc65e6ffdebad5c648d7593d1815944d7e515 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:38:05 +0900 Subject: [PATCH 02/11] Update laradockctl --- .envrc.dist | 5 ++++- .laradock/commands/my/destroy.sh | 14 -------------- .laradock/commands/my/down.sh | 9 --------- .laradock/commands/my/phive.sh | 9 --------- .laradock/commands/my/up.sh | 25 ------------------------- .laradock/commands/up.sh | 19 +++++++++++++++++++ laradockctl | 2 +- 7 files changed, 24 insertions(+), 59 deletions(-) delete mode 100644 .laradock/commands/my/destroy.sh delete mode 100644 .laradock/commands/my/down.sh delete mode 100644 .laradock/commands/my/phive.sh delete mode 100644 .laradock/commands/my/up.sh create mode 100644 .laradock/commands/up.sh diff --git a/.envrc.dist b/.envrc.dist index 370fc62..1be9318 100644 --- a/.envrc.dist +++ b/.envrc.dist @@ -1,2 +1,5 @@ export PATH=$PWD/laradockctl/bin:$PATH -export LARADOCKCTL_COMMAND_PATH=$PWD/.laradock/commands:$PWD/laradockctl/src/commands +export LARADOCKCTL_ADDITIONAL_COMMAND_DIRS=$PWD/.laradock/commands +export LARADOCKCTL_CONTAINER_NAMES=mysql,workspace +export LARADOCKCTL_ENV_FILE=$PWD/.laradock/env-development +export LARADOCKCTL_PHIVE_HOME_DIR_CONTAINER=.laradock/data/phive diff --git a/.laradock/commands/my/destroy.sh b/.laradock/commands/my/destroy.sh deleted file mode 100644 index 8bc0d23..0000000 --- a/.laradock/commands/my/destroy.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -Ceuo pipefail - -local NAME='my:destroy' -local DESCRIPTION='Destory my development environment' - -handle() { - docker-compose down -v - local YN - read -p 'Do you want to remove data? (y/N)' YN - if [[ "${YN}" == 'y' ]]; then - sudo rm -rf ../.laradock/data/* - fi -} diff --git a/.laradock/commands/my/down.sh b/.laradock/commands/my/down.sh deleted file mode 100644 index 125d2c5..0000000 --- a/.laradock/commands/my/down.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -Ceuo pipefail - -local NAME='my:down' -local DESCRIPTION='Shut down my development environment' - -handle() { - docker-compose stop -} diff --git a/.laradock/commands/my/phive.sh b/.laradock/commands/my/phive.sh deleted file mode 100644 index 128ec0b..0000000 --- a/.laradock/commands/my/phive.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -Ceuo pipefail - -local NAME='my:phive' -local DESCRIPTION='Execute a PHIVE command' - -handle() { - docker-compose exec -u laradock workspace phive --home .laradock/data/phive "$@" -} diff --git a/.laradock/commands/my/up.sh b/.laradock/commands/my/up.sh deleted file mode 100644 index f2ee43b..0000000 --- a/.laradock/commands/my/up.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -set -Ceuo pipefail - -local NAME='my:up' -local DESCRIPTION='Start up my development environment' - -handle() { - cp -f ../.laradock/env-development .env - docker-compose up -d --build mysql workspace - docker-compose exec -u laradock workspace composer install - cp ../phpunit.xml.dist ../phpunit.xml - sed -i 's/name="DB_HOST" value=""/name="DB_HOST" value="mysql"/g' ../phpunit.xml - sed -i 's/name="DB_DATABASE" value=""/name="DB_DATABASE" value="test"/g' ../phpunit.xml - sed -i 's/name="DB_USERNAME" value=""/name="DB_USERNAME" value="root"/g' ../phpunit.xml - sed -i 's/name="DB_PASSWORD" value=""/name="DB_PASSWORD" value="root"/g' ../phpunit.xml - if ! docker-compose exec workspace bash -c 'test -f /usr/local/bin/phive'; then - docker-compose exec workspace curl -fsSL https://phar.io/releases/phive.phar -o /tmp/phive.phar - docker-compose exec workspace curl -fsSL https://phar.io/releases/phive.phar.asc -o /tmp/phive.phar.asc - docker-compose exec workspace gpg --keyserver ipv4.pool.sks-keyservers.net --recv-keys 0x9D8A98B29B2D5D79 - docker-compose exec workspace gpg --verify /tmp/phive.phar.asc /tmp/phive.phar - docker-compose exec workspace chmod +x /tmp/phive.phar - docker-compose exec workspace mv /tmp/phive.phar /usr/local/bin/phive - fi - docker-compose exec -u laradock workspace phive --home .laradock/data/phive install -} diff --git a/.laradock/commands/up.sh b/.laradock/commands/up.sh new file mode 100644 index 0000000..d5b1524 --- /dev/null +++ b/.laradock/commands/up.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# The laradockctl command to start up a development environment. + +set -Ceuo pipefail + +local NAME='up' +local DESCRIPTION='Start up a development environment' + +handle() { + source "$(laradockctl_command_path up.sh)" + handle + + # Set environment variables to configure the testing environment + sed -i 's/name="DB_HOST" value=""/name="DB_HOST" value="mysql"/g' ../phpunit.xml + sed -i 's/name="DB_DATABASE" value=""/name="DB_DATABASE" value="test"/g' ../phpunit.xml + sed -i 's/name="DB_USERNAME" value=""/name="DB_USERNAME" value="root"/g' ../phpunit.xml + sed -i 's/name="DB_PASSWORD" value=""/name="DB_PASSWORD" value="root"/g' ../phpunit.xml +} diff --git a/laradockctl b/laradockctl index ee5f326..6fa686f 160000 --- a/laradockctl +++ b/laradockctl @@ -1 +1 @@ -Subproject commit ee5f32686203083b58fcf22c912faef1c4326da5 +Subproject commit 6fa686f785181a0ea3321a9200cb6a7b08272ab6 From b4ce584e28a43dbb32d3d40d7554d437ed0c99c7 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:38:43 +0900 Subject: [PATCH 03/11] Add ignore = dirty --- .gitmodules | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitmodules b/.gitmodules index 4ccf217..9274920 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,7 @@ [submodule "laradock"] path = laradock url = https://github.com/Laradock/laradock.git + ignore = dirty [submodule "laradockctl"] path = laradockctl url = https://github.com/ngmy/laradockctl.git From 79ddea814d7cfa099329cad1200bb6fb1d23eb76 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:39:34 +0900 Subject: [PATCH 04/11] Update .gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 8214136..ddcf7be 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,16 @@ /.laradock/data/* !/.laradock/data/.gitkeep +/.phpdoc /build/ /tools/ +/tools-src/ /vendor/ .envrc.local .php_cs .php_cs.cache .phpunit.result.cache phpcs.xml +phpdoc.xml phpstan.neon phpunit.xml +psalm.xml From 8ab9e2c2df643efbf16d4e215f2c0ee46faa5fd9 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:47:14 +0900 Subject: [PATCH 05/11] Update tools --- .phive/phars.xml | 11 ++++++++--- .php_cs.dist | 31 +++++++++++++++++++++++++++++++ phpdoc.dist.xml | 18 ++++++++++++++++++ psalm.xml.dist | 15 +++++++++++++++ 4 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 .php_cs.dist create mode 100644 phpdoc.dist.xml create mode 100644 psalm.xml.dist diff --git a/.phive/phars.xml b/.phive/phars.xml index 456f3e8..d7945ce 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,7 +1,12 @@ + - - - + + + + + + + diff --git a/.php_cs.dist b/.php_cs.dist new file mode 100644 index 0000000..8739662 --- /dev/null +++ b/.php_cs.dist @@ -0,0 +1,31 @@ +setRiskyAllowed(true) + ->setRules([ + '@PSR12' => true, + 'general_phpdoc_tag_rename' => [ + 'replacements' => [ + 'inheritDoc' => 'inheritdoc', + ], + ], + 'global_namespace_import' => ['import_classes' => true, 'import_constants' => true, 'import_functions' => true], + 'native_constant_invocation' => true, + 'native_function_invocation' => true, + 'no_empty_phpdoc' => true, + 'no_extra_blank_lines' => true, + 'no_superfluous_phpdoc_tags' => ['allow_mixed' => true, 'allow_unused_params' => true], + 'no_unused_imports' => true, + 'ordered_imports' => ['imports_order' => ['class', 'function', 'const'], 'sort_algorithm' => 'alpha'], + 'phpdoc_scalar' => true, + 'phpdoc_align' => ['tags' => ['param']], + 'phpdoc_order' => true, + 'phpdoc_trim' => true, + 'phpdoc_types_order' => ['null_adjustment' => 'always_last'], + ]) + ->setFinder(PhpCsFixer\Finder::create() + ->in('src') + ->in('tests') + ); + +# vim: set ft=php: diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml new file mode 100644 index 0000000..45571c4 --- /dev/null +++ b/phpdoc.dist.xml @@ -0,0 +1,18 @@ + + + + docs/api + + + + + src + + + + diff --git a/psalm.xml.dist b/psalm.xml.dist new file mode 100644 index 0000000..3240886 --- /dev/null +++ b/psalm.xml.dist @@ -0,0 +1,15 @@ + + + + + + + + + From eb9caa159e097a2c109af4b4d3ff345d4f5663ac Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:48:08 +0900 Subject: [PATCH 06/11] Change the order --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index caa0260..e45889a 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,6 @@ { "name": "ngmy/eloquent-serialized-lob", + "type": "library", "description": "Eloquent Serialized LOB is a trait for Laravel Eloquent models that allows Serialized LOB pattern", "keywords": [ "laravel", @@ -16,7 +17,6 @@ "email": "y.nagamiya@gmail.com" } ], - "type": "library", "require": { "php": "^7.3|^8.0", "doctrine/annotations": "^1.11.1", From e94c8d3f4b1368cb6492d4f3c397b10e1db2a33f Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:52:07 +0900 Subject: [PATCH 07/11] Update scripts --- composer.json | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index e45889a..15dddb8 100644 --- a/composer.json +++ b/composer.json @@ -57,13 +57,44 @@ "prefer-stable": true, "scripts": { "test": [ - "@php tools/phpunit --colors=always" + "@phpunit" ], "lint": [ - "@php tools/phpcs --colors" + "@phpcs", + "@phpstan", + "@psalm" ], - "findbugs": [ - "@php tools/phpstan analyse --ansi" + "fmt": [ + "@php-cs-fixer", + "@phpcbf" + ], + "doc": [ + "@phpdoc" + ], + "phar-extractor": [ + "rm -rf tools-src", + "tools/phar-extractor extract-phive-xml -t tools-src" + ], + "php-cs-fixer": [ + "tools/php-cs-fixer fix --ansi" + ], + "phpcbf": [ + "tools/phpcbf" + ], + "phpcs": [ + "tools/phpcs" + ], + "phpdoc": [ + "tools/phpDocumentor --force" + ], + "phpstan": [ + "tools/phpstan analyse --ansi" + ], + "phpunit": [ + "tools/phpunit --colors=always" + ], + "psalm": [ + "if [ \"${PSALM_SHEPHERD:-0}\" = '0' ]; then tools/psalm --no-cache; else tools/psalm --no-cache --shepherd; fi" ] } } From 5346a217bd9d6b6ef1e60e4266f2813b3c58e1be Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:50:14 +0900 Subject: [PATCH 08/11] Update dependencies --- composer.lock | 1133 +++++++++++++++++++++++++++++++------------------ 1 file changed, 713 insertions(+), 420 deletions(-) diff --git a/composer.lock b/composer.lock index 6c11449..eae2575 100644 --- a/composer.lock +++ b/composer.lock @@ -8,26 +8,26 @@ "packages": [ { "name": "brick/math", - "version": "0.9.1", + "version": "0.9.2", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "283a40c901101e66de7061bd359252c013dcc43c" + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c", - "reference": "283a40c901101e66de7061bd359252c013dcc43c", + "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", "shasum": "" }, "require": { "ext-json": "*", - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15|^8.5", - "vimeo/psalm": "^3.5" + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.3.2" }, "type": "library", "autoload": { @@ -52,7 +52,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/master" + "source": "https://github.com/brick/math/tree/0.9.2" }, "funding": [ { @@ -60,20 +60,20 @@ "type": "tidelift" } ], - "time": "2020-08-18T23:57:15+00:00" + "time": "2021-01-20T22:51:39+00:00" }, { "name": "doctrine/annotations", - "version": "1.11.1", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad" + "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/ce77a7ba1770462cd705a91a151b6c3746f9c6ad", - "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/b17c5014ef81d212ac539f07a1001832df1b6d3b", + "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b", "shasum": "" }, "require": { @@ -88,11 +88,6 @@ "phpunit/phpunit": "^7.5 || ^9.1.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.11.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" @@ -133,9 +128,9 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.11.1" + "source": "https://github.com/doctrine/annotations/tree/1.12.1" }, - "time": "2020-10-26T10:28:16+00:00" + "time": "2021-02-21T21:00:45+00:00" }, { "name": "doctrine/inflector", @@ -430,6 +425,10 @@ "cron", "schedule" ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0" + }, "funding": [ { "url": "https://github.com/dragonmantank", @@ -556,6 +555,10 @@ "Result-Type", "result" ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -570,16 +573,16 @@ }, { "name": "jms/metadata", - "version": "2.4.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/metadata.git", - "reference": "491917b66b44deff7d1c320d35c1b92237083f67" + "reference": "b5c52549807b2d855b3d7e36ec164c00eb547338" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/491917b66b44deff7d1c320d35c1b92237083f67", - "reference": "491917b66b44deff7d1c320d35c1b92237083f67", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/b5c52549807b2d855b3d7e36ec164c00eb547338", + "reference": "b5c52549807b2d855b3d7e36ec164c00eb547338", "shasum": "" }, "require": { @@ -588,6 +591,7 @@ "require-dev": { "doctrine/cache": "^1.0", "doctrine/coding-standard": "^8.0", + "mikey179/vfsstream": "^1.6.7", "phpunit/phpunit": "^8.5|^9.0", "psr/container": "^1.0", "symfony/cache": "^3.1|^4.0|^5.0", @@ -627,22 +631,22 @@ ], "support": { "issues": "https://github.com/schmittjoh/metadata/issues", - "source": "https://github.com/schmittjoh/metadata/tree/2.4.0" + "source": "https://github.com/schmittjoh/metadata/tree/2.5.0" }, - "time": "2020-11-30T11:08:28+00:00" + "time": "2021-03-07T19:20:09+00:00" }, { "name": "jms/serializer", - "version": "3.11.0", + "version": "3.12.3", "source": { "type": "git", "url": "https://github.com/schmittjoh/serializer.git", - "reference": "5158b454ecf209a9fea91c837e827355204581ea" + "reference": "f908d17afd08f0aab9c083322022682b41483c5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/5158b454ecf209a9fea91c837e827355204581ea", - "reference": "5158b454ecf209a9fea91c837e827355204581ea", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/f908d17afd08f0aab9c083322022682b41483c5b", + "reference": "f908d17afd08f0aab9c083322022682b41483c5b", "shasum": "" }, "require": { @@ -651,7 +655,7 @@ "doctrine/lexer": "^1.1", "jms/metadata": "^2.0", "php": "^7.2||^8.0", - "phpstan/phpdoc-parser": "^0.4" + "phpstan/phpdoc-parser": "^0.4 || ^0.5" }, "require-dev": { "doctrine/coding-standard": "^8.1", @@ -661,6 +665,7 @@ "ext-pdo_sqlite": "*", "jackalope/jackalope-doctrine-dbal": "^1.1.5", "ocramius/proxy-manager": "^1.0|^2.0", + "phpstan/phpstan": "^0.12.65", "phpunit/phpunit": "^8.0||^9.0", "psr/container": "^1.0", "symfony/dependency-injection": "^3.0|^4.0|^5.0", @@ -680,7 +685,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.11-dev" + "dev-master": "3.12-dev" } }, "autoload": { @@ -713,7 +718,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/serializer/issues", - "source": "https://github.com/schmittjoh/serializer/tree/3.11.0" + "source": "https://github.com/schmittjoh/serializer/tree/3.12.3" }, "funding": [ { @@ -721,20 +726,20 @@ "type": "github" } ], - "time": "2020-12-29T12:26:56+00:00" + "time": "2021-04-25T11:03:24+00:00" }, { "name": "laravel/framework", - "version": "v8.21.0", + "version": "v8.40.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "a61cab167c35f465a923737ee6e6fb99cd5fde88" + "reference": "a654897ad7f97aea9d7ef292803939798c4a02a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/a61cab167c35f465a923737ee6e6fb99cd5fde88", - "reference": "a61cab167c35f465a923737ee6e6fb99cd5fde88", + "url": "https://api.github.com/repos/laravel/framework/zipball/a654897ad7f97aea9d7ef292803939798c4a02a4", + "reference": "a654897ad7f97aea9d7ef292803939798c4a02a4", "shasum": "" }, "require": { @@ -821,6 +826,7 @@ }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", @@ -841,7 +847,7 @@ "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", "predis/predis": "Required to use the predis connector (^1.1.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", @@ -884,20 +890,24 @@ "framework", "laravel" ], - "time": "2021-01-05T15:43:10+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-04-28T14:38:56+00:00" }, { "name": "league/commonmark", - "version": "1.5.7", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54" + "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54", - "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2651c497f005de305c7ba3f232cbd87b8c00ee8c", + "reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c", "shasum": "" }, "require": { @@ -985,7 +995,7 @@ "type": "tidelift" } ], - "time": "2020-10-31T13:49:32+00:00" + "time": "2021-05-08T16:08:00+00:00" }, { "name": "league/flysystem", @@ -1084,16 +1094,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.5.1", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa" + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/353f66d7555d8a90781f6f5e7091932f9a4250aa", - "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", "shasum": "" }, "require": { @@ -1101,8 +1111,9 @@ "php": "^7.2 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.36", - "phpunit/phpunit": "^8.5.8" + "friendsofphp/php-cs-fixer": "^2.18", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3" }, "type": "library", "autoload": { @@ -1123,7 +1134,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.5.1" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" }, "funding": [ { @@ -1135,7 +1146,7 @@ "type": "tidelift" } ], - "time": "2020-10-18T11:50:25+00:00" + "time": "2021-01-18T20:58:21+00:00" }, { "name": "monolog/monolog", @@ -1235,16 +1246,16 @@ }, { "name": "nesbot/carbon", - "version": "2.43.0", + "version": "2.47.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "d32c57d8389113742f4a88725a170236470012e2" + "reference": "606262fd8888b75317ba9461825a24fc34001e1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d32c57d8389113742f4a88725a170236470012e2", - "reference": "d32c57d8389113742f4a88725a170236470012e2", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/606262fd8888b75317ba9461825a24fc34001e1e", + "reference": "606262fd8888b75317ba9461825a24fc34001e1e", "shasum": "" }, "require": { @@ -1260,7 +1271,7 @@ "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.54", - "phpunit/phpunit": "^7.5 || ^8.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.14", "squizlabs/php_codesniffer": "^3.4" }, "bin": [ @@ -1324,20 +1335,20 @@ "type": "tidelift" } ], - "time": "2020-12-17T20:55:32+00:00" + "time": "2021-04-13T21:54:02+00:00" }, { "name": "opis/closure", - "version": "3.6.1", + "version": "3.6.2", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", + "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", "shasum": "" }, "require": { @@ -1387,9 +1398,9 @@ ], "support": { "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.1" + "source": "https://github.com/opis/closure/tree/3.6.2" }, - "time": "2020-11-07T02:01:34+00:00" + "time": "2021-04-09T13:42:10+00:00" }, { "name": "phpoption/phpoption", @@ -1462,16 +1473,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "0.4.10", + "version": "0.5.4", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "5c1eb9aac80cb236f1b7fbe52e691afe4cc9f430" + "reference": "e352d065af1ae9b41c12d1dfd309e90f7b1f55c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/5c1eb9aac80cb236f1b7fbe52e691afe4cc9f430", - "reference": "5c1eb9aac80cb236f1b7fbe52e691afe4cc9f430", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/e352d065af1ae9b41c12d1dfd309e90f7b1f55c9", + "reference": "e352d065af1ae9b41c12d1dfd309e90f7b1f55c9", "shasum": "" }, "require": { @@ -1484,12 +1495,12 @@ "phpstan/phpstan": "^0.12.60", "phpstan/phpstan-strict-rules": "^0.12.5", "phpunit/phpunit": "^7.5.20", - "symfony/process": "^4.0" + "symfony/process": "^5.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.4-dev" + "dev-master": "0.5-dev" } }, "autoload": { @@ -1506,33 +1517,28 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/0.4.10" + "source": "https://github.com/phpstan/phpdoc-parser/tree/0.5.4" }, - "time": "2020-12-12T15:45:28+00:00" + "time": "2021-04-03T14:46:19+00:00" }, { "name": "psr/container", - "version": "1.0.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.2.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -1545,7 +1551,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", @@ -1559,9 +1565,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" + "source": "https://github.com/php-fig/container/tree/1.1.1" }, - "time": "2017-02-14T16:28:37+00:00" + "time": "2021-03-05T17:36:06+00:00" }, { "name": "psr/event-dispatcher", @@ -1615,16 +1621,16 @@ }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -1648,7 +1654,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -1659,9 +1665,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "psr/simple-cache", @@ -1716,16 +1722,16 @@ }, { "name": "ramsey/collection", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1" + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/24d93aefb2cd786b7edd9f45b554aea20b28b9b1", - "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1", + "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", "shasum": "" }, "require": { @@ -1735,19 +1741,19 @@ "captainhook/captainhook": "^5.3", "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "ergebnis/composer-normalize": "^2.6", - "fzaninotto/faker": "^1.5", + "fakerphp/faker": "^1.5", "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.6", + "jangregor/phpstan-prophecy": "^0.8", "mockery/mockery": "^1.3", "phpstan/extension-installer": "^1", "phpstan/phpstan": "^0.12.32", "phpstan/phpstan-mockery": "^0.12.5", "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5", + "phpunit/phpunit": "^8.5 || ^9", "psy/psysh": "^0.10.4", "slevomat/coding-standard": "^6.3", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^3.12.2" + "vimeo/psalm": "^4.4" }, "type": "library", "autoload": { @@ -1777,15 +1783,19 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.1" + "source": "https://github.com/ramsey/collection/tree/1.1.3" }, "funding": [ { "url": "https://github.com/ramsey", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" } ], - "time": "2020-09-10T20:58:17+00:00" + "time": "2021-01-21T17:40:04+00:00" }, { "name": "ramsey/uuid", @@ -1881,20 +1891,20 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.4", + "version": "v6.2.7", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e" + "reference": "15f7faf8508e04471f666633addacf54c0ab5933" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", - "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", + "reference": "15f7faf8508e04471f666633addacf54c0ab5933", "shasum": "" }, "require": { - "egulias/email-validator": "^2.0", + "egulias/email-validator": "^2.0|^3.1", "php": ">=7.0.0", "symfony/polyfill-iconv": "^1.0", "symfony/polyfill-intl-idn": "^1.10", @@ -1940,7 +1950,7 @@ ], "support": { "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.4" + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" }, "funding": [ { @@ -1952,20 +1962,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T18:02:06+00:00" + "time": "2021-03-09T12:30:35+00:00" }, { "name": "symfony/console", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "47c02526c532fb381374dab26df05e7313978976" + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", - "reference": "47c02526c532fb381374dab26df05e7313978976", + "url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629", + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629", "shasum": "" }, "require": { @@ -2024,7 +2034,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "keywords": [ "cli", @@ -2033,7 +2043,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.2.1" + "source": "https://github.com/symfony/console/tree/v5.2.7" }, "funding": [ { @@ -2049,20 +2059,20 @@ "type": "tidelift" } ], - "time": "2020-12-18T08:03:05+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { "name": "symfony/css-selector", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054" + "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054", - "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/59a684f5ac454f066ecbe6daecce6719aed283fb", + "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb", "shasum": "" }, "require": { @@ -2095,10 +2105,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony CssSelector Component", + "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.2.1" + "source": "https://github.com/symfony/css-selector/tree/v5.3.0-BETA1" }, "funding": [ { @@ -2114,20 +2124,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T17:02:38+00:00" + "time": "2021-04-07T16:07:52+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", "shasum": "" }, "require": { @@ -2136,7 +2146,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2165,7 +2175,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/master" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" }, "funding": [ { @@ -2181,20 +2191,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/error-handler", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "59b190ce16ddf32771a22087b60f6dafd3407147" + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147", - "reference": "59b190ce16ddf32771a22087b60f6dafd3407147", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782", + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782", "shasum": "" }, "require": { @@ -2231,10 +2241,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony ErrorHandler Component", + "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.2.1" + "source": "https://github.com/symfony/error-handler/tree/v5.2.7" }, "funding": [ { @@ -2250,20 +2260,20 @@ "type": "tidelift" } ], - "time": "2020-12-09T18:54:12+00:00" + "time": "2021-04-07T15:57:33+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.2.1", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "1c93f7a1dff592c252574c79a8635a8a80856042" + "reference": "d08d6ec121a425897951900ab692b612a61d6240" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042", - "reference": "1c93f7a1dff592c252574c79a8635a8a80856042", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240", + "reference": "d08d6ec121a425897951900ab692b612a61d6240", "shasum": "" }, "require": { @@ -2316,10 +2326,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.1" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4" }, "funding": [ { @@ -2335,20 +2345,20 @@ "type": "tidelift" } ], - "time": "2020-12-18T08:03:05+00:00" + "time": "2021-02-18T17:12:37+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", - "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", "shasum": "" }, "require": { @@ -2361,7 +2371,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2398,7 +2408,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" }, "funding": [ { @@ -2414,20 +2424,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/finder", - "version": "v5.2.1", + "version": "v5.2.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba" + "reference": "0d639a0943822626290d169965804f79400e6a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba", - "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba", + "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", + "reference": "0d639a0943822626290d169965804f79400e6a04", "shasum": "" }, "require": { @@ -2456,10 +2466,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.1" + "source": "https://github.com/symfony/finder/tree/v5.2.4" }, "funding": [ { @@ -2475,20 +2485,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T17:02:38+00:00" + "time": "2021-02-15T18:55:04+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.3.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", - "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", "shasum": "" }, "require": { @@ -2499,9 +2509,8 @@ }, "type": "library", "extra": { - "branch-version": "2.3", "branch-alias": { - "dev-main": "2.3-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -2538,7 +2547,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1" + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" }, "funding": [ { @@ -2554,20 +2563,20 @@ "type": "tidelift" } ], - "time": "2020-10-14T17:08:19+00:00" + "time": "2021-04-11T23:07:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d" + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d", - "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", "shasum": "" }, "require": { @@ -2608,10 +2617,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpFoundation Component", + "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.1" + "source": "https://github.com/symfony/http-foundation/tree/v5.2.7" }, "funding": [ { @@ -2627,20 +2636,20 @@ "type": "tidelift" } ], - "time": "2020-12-18T10:00:10+00:00" + "time": "2021-05-01T13:46:24+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647" + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647", - "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd", + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd", "shasum": "" }, "require": { @@ -2669,13 +2678,13 @@ "symfony/translation": "<5.0", "symfony/twig-bridge": "<5.0", "symfony/validator": "<5.0", - "twig/twig": "<2.4" + "twig/twig": "<2.13" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { - "psr/cache": "~1.0", + "psr/cache": "^1.0|^2.0|^3.0", "symfony/browser-kit": "^4.4|^5.0", "symfony/config": "^5.0", "symfony/console": "^4.4|^5.0", @@ -2689,7 +2698,7 @@ "symfony/stopwatch": "^4.4|^5.0", "symfony/translation": "^4.4|^5.0", "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^2.4|^3.0" + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "symfony/browser-kit": "", @@ -2720,10 +2729,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpKernel Component", + "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.2.1" + "source": "https://github.com/symfony/http-kernel/tree/v5.2.7" }, "funding": [ { @@ -2739,20 +2748,20 @@ "type": "tidelift" } ], - "time": "2020-12-18T13:49:39+00:00" + "time": "2021-05-01T14:53:15+00:00" }, { "name": "symfony/mime", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "de97005aef7426ba008c46ba840fc301df577ada" + "reference": "7af452bf51c46f18da00feb32e1ad36db9426515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada", - "reference": "de97005aef7426ba008c46ba840fc301df577ada", + "url": "https://api.github.com/repos/symfony/mime/zipball/7af452bf51c46f18da00feb32e1ad36db9426515", + "reference": "7af452bf51c46f18da00feb32e1ad36db9426515", "shasum": "" }, "require": { @@ -2763,10 +2772,13 @@ "symfony/polyfill-php80": "^1.15" }, "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<4.4" }, "require-dev": { - "egulias/email-validator": "^2.1.10", + "egulias/email-validator": "^2.1.10|^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", "symfony/dependency-injection": "^4.4|^5.0", "symfony/property-access": "^4.4|^5.1", @@ -2796,14 +2808,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "A library to manipulate MIME messages", + "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", "keywords": [ "mime", "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.2.1" + "source": "https://github.com/symfony/mime/tree/v5.2.7" }, "funding": [ { @@ -2819,11 +2831,11 @@ "type": "tidelift" } ], - "time": "2020-12-09T18:54:12+00:00" + "time": "2021-04-29T20:47:09+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -2881,6 +2893,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2899,16 +2914,16 @@ }, { "name": "symfony/polyfill-iconv", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" + "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", - "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/06fb361659649bcfd6a208a0f1fcaf4e827ad342", + "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342", "shasum": "" }, "require": { @@ -2958,6 +2973,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -2972,20 +2990,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", "shasum": "" }, "require": { @@ -3036,6 +3054,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3050,20 +3071,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", - "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", "shasum": "" }, "require": { @@ -3120,6 +3141,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3134,20 +3158,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba" + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", "shasum": "" }, "require": { @@ -3201,6 +3225,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3215,20 +3242,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T17:09:11+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", "shasum": "" }, "require": { @@ -3278,6 +3305,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3292,11 +3322,11 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", @@ -3351,6 +3381,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3369,7 +3402,7 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -3427,6 +3460,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3445,7 +3481,7 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", @@ -3507,6 +3543,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3525,16 +3564,16 @@ }, { "name": "symfony/process", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd" + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd", - "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd", + "url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", "shasum": "" }, "require": { @@ -3564,10 +3603,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.2.1" + "source": "https://github.com/symfony/process/tree/v5.3.0-BETA1" }, "funding": [ { @@ -3583,20 +3622,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T17:03:37+00:00" + "time": "2021-04-08T10:27:02+00:00" }, { "name": "symfony/routing", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "934ac2720dcc878a47a45c986b483a7ee7193620" + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620", - "reference": "934ac2720dcc878a47a45c986b483a7ee7193620", + "url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", "shasum": "" }, "require": { @@ -3610,7 +3649,7 @@ "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "^1.7", + "doctrine/annotations": "^1.10.4", "psr/log": "~1.0", "symfony/config": "^5.0", "symfony/dependency-injection": "^4.4|^5.0", @@ -3619,7 +3658,6 @@ "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", "symfony/expression-language": "For using expression matching", "symfony/http-foundation": "For using a Symfony Request object", @@ -3648,7 +3686,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Routing Component", + "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", "keywords": [ "router", @@ -3657,7 +3695,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.2.1" + "source": "https://github.com/symfony/routing/tree/v5.2.7" }, "funding": [ { @@ -3673,25 +3711,25 @@ "type": "tidelift" } ], - "time": "2020-12-08T17:03:37+00:00" + "time": "2021-04-11T22:55:21+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0" + "psr/container": "^1.1" }, "suggest": { "symfony/service-implementation": "" @@ -3699,7 +3737,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -3736,7 +3774,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/master" + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" }, "funding": [ { @@ -3752,20 +3790,20 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-04-01T10:43:52+00:00" }, { "name": "symfony/string", - "version": "v5.2.1", + "version": "v5.2.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", - "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", + "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", "shasum": "" }, "require": { @@ -3808,7 +3846,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony String component", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", "keywords": [ "grapheme", @@ -3819,7 +3857,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.2.1" + "source": "https://github.com/symfony/string/tree/v5.2.6" }, "funding": [ { @@ -3835,20 +3873,20 @@ "type": "tidelift" } ], - "time": "2020-12-05T07:33:16+00:00" + "time": "2021-03-17T17:12:15+00:00" }, { "name": "symfony/translation", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70" + "reference": "e37ece5242564bceea54d709eafc948377ec9749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/a04209ba0d1391c828e5b2373181dac63c52ee70", - "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70", + "url": "https://api.github.com/repos/symfony/translation/zipball/e37ece5242564bceea54d709eafc948377ec9749", + "reference": "e37ece5242564bceea54d709eafc948377ec9749", "shasum": "" }, "require": { @@ -3865,7 +3903,7 @@ "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "2.0" + "symfony/translation-implementation": "2.3" }, "require-dev": { "psr/log": "~1.0", @@ -3909,10 +3947,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.2.1" + "source": "https://github.com/symfony/translation/tree/v5.2.7" }, "funding": [ { @@ -3928,20 +3966,20 @@ "type": "tidelift" } ], - "time": "2020-12-08T17:03:37+00:00" + "time": "2021-04-01T08:15:21+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.3.0", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + "reference": "95c812666f3e91db75385749fe219c5e494c7f95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", - "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95", "shasum": "" }, "require": { @@ -3953,7 +3991,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -3990,7 +4028,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.3.0" + "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" }, "funding": [ { @@ -4006,20 +4044,20 @@ "type": "tidelift" } ], - "time": "2020-09-28T13:05:58+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089" + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", - "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636", + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636", "shasum": "" }, "require": { @@ -4035,7 +4073,7 @@ "ext-iconv": "*", "symfony/console": "^4.4|^5.0", "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.4|^3.0" + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -4071,14 +4109,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony mechanism for exploring and dumping PHP variables", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", "keywords": [ "debug", "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.2.1" + "source": "https://github.com/symfony/var-dumper/tree/v5.2.7" }, "funding": [ { @@ -4094,7 +4132,7 @@ "type": "tidelift" } ], - "time": "2020-12-16T17:02:19+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -4151,16 +4189,16 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.2.0", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "fba64139db67123c7a57072e5f8d3db10d160b66" + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66", - "reference": "fba64139db67123c7a57072e5f8d3db10d160b66", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", "shasum": "" }, "require": { @@ -4175,7 +4213,7 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.2 || ^9.0" + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" }, "suggest": { "ext-filter": "Required to use the boolean validator." @@ -4183,7 +4221,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.2-dev" + "dev-master": "5.3-dev" } }, "autoload": { @@ -4213,6 +4251,10 @@ "env", "environment" ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -4223,7 +4265,7 @@ "type": "tidelift" } ], - "time": "2020-09-14T15:57:31+00:00" + "time": "2021-01-20T15:23:13+00:00" }, { "name": "voku/portable-ascii", @@ -4301,30 +4343,35 @@ }, { "name": "webmozart/assert", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", + "php": "^7.2 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -4347,10 +4394,10 @@ "validate" ], "support": { - "issues": "https://github.com/webmozart/assert/issues", - "source": "https://github.com/webmozart/assert/tree/master" + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" }, - "time": "2020-07-08T17:02:28+00:00" + "time": "2021-03-09T10:59:23+00:00" } ], "packages-dev": [ @@ -4428,6 +4475,10 @@ "phpstorm", "sublime" ], + "support": { + "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.9.0" + }, "funding": [ { "url": "https://github.com/barryvdh", @@ -4490,16 +4541,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.2.8", + "version": "1.2.9", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "8a7ecad675253e4654ea05505233285377405215" + "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", - "reference": "8a7ecad675253e4654ea05505233285377405215", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", "shasum": "" }, "require": { @@ -4508,14 +4559,15 @@ "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", + "phpstan/phpstan": "^0.12.55", "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-main": "1.x-dev" } }, "autoload": { @@ -4545,7 +4597,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.2.8" + "source": "https://github.com/composer/ca-bundle/tree/1.2.9" }, "funding": [ { @@ -4561,24 +4613,25 @@ "type": "tidelift" } ], - "time": "2020-08-23T12:54:47+00:00" + "time": "2021-01-12T12:10:35+00:00" }, { "name": "composer/composer", - "version": "2.0.8", + "version": "2.0.13", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "62139b2806178adb979d76bd3437534a1a9fd490" + "reference": "986e8b86b7b570632ad0a905c3726c33dd4c0efb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/62139b2806178adb979d76bd3437534a1a9fd490", - "reference": "62139b2806178adb979d76bd3437534a1a9fd490", + "url": "https://api.github.com/repos/composer/composer/zipball/986e8b86b7b570632ad0a905c3726c33dd4c0efb", + "reference": "986e8b86b7b570632ad0a905c3726c33dd4c0efb", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", + "composer/metadata-minifier": "^1.0", "composer/semver": "^3.0", "composer/spdx-licenses": "^1.2", "composer/xdebug-handler": "^1.1", @@ -4642,7 +4695,76 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.0.8" + "source": "https://github.com/composer/composer/tree/2.0.13" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-04-27T11:11:08+00:00" + }, + { + "name": "composer/metadata-minifier", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/metadata-minifier.git", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "composer/composer": "^2", + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\MetadataMinifier\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Small utility library that handles metadata minification and expansion.", + "keywords": [ + "composer", + "compression" + ], + "support": { + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" }, "funding": [ { @@ -4658,7 +4780,7 @@ "type": "tidelift" } ], - "time": "2020-12-03T16:20:39+00:00" + "time": "2021-04-07T13:37:33+00:00" }, { "name": "composer/package-versions-deprecated", @@ -4713,6 +4835,10 @@ } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + }, "funding": [ { "url": "https://packagist.com", @@ -4891,16 +5017,16 @@ }, { "name": "composer/xdebug-handler", - "version": "1.4.5", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "f28d44c286812c714741478d968104c5e604a1d4" + "reference": "f27e06cd9675801df441b3656569b328e04aa37c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4", - "reference": "f28d44c286812c714741478d968104c5e604a1d4", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c", + "reference": "f27e06cd9675801df441b3656569b328e04aa37c", "shasum": "" }, "require": { @@ -4908,7 +5034,8 @@ "psr/log": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "autoload": { @@ -4934,7 +5061,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/1.4.5" + "source": "https://github.com/composer/xdebug-handler/tree/1.4.6" }, "funding": [ { @@ -4950,44 +5077,43 @@ "type": "tidelift" } ], - "time": "2020-11-13T08:04:11+00:00" + "time": "2021-03-25T17:01:18+00:00" }, { "name": "doctrine/cache", - "version": "1.10.2", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "13e3381b25847283a91948d04640543941309727" + "reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727", - "reference": "13e3381b25847283a91948d04640543941309727", + "url": "https://api.github.com/repos/doctrine/cache/zipball/a9c1b59eba5a08ca2770a76eddb88922f504e8e0", + "reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0", "shasum": "" }, "require": { "php": "~7.1 || ^8.0" }, "conflict": { - "doctrine/common": ">2.2,<2.4" + "doctrine/common": ">2.2,<2.4", + "psr/cache": ">=3" }, "require-dev": { "alcaeus/mongo-php-adapter": "^1.1", - "doctrine/coding-standard": "^6.0", + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^8.0", "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^7.0", - "predis/predis": "~1.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "predis/predis": "~1.0", + "psr/cache": "^1.0 || ^2.0", + "symfony/cache": "^4.4 || ^5.2" }, "suggest": { "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" @@ -5034,7 +5160,7 @@ ], "support": { "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/1.10.x" + "source": "https://github.com/doctrine/cache/tree/1.11.0" }, "funding": [ { @@ -5050,37 +5176,39 @@ "type": "tidelift" } ], - "time": "2020-07-07T18:54:01+00:00" + "time": "2021-04-13T14:46:17+00:00" }, { "name": "doctrine/dbal", - "version": "3.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c" + "reference": "5ba62e7e40df119424866064faf2cef66cb5232a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/ee6d1260d5cc20ec506455a585945d7bdb98662c", - "reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/5ba62e7e40df119424866064faf2cef66cb5232a", + "reference": "5ba62e7e40df119424866064faf2cef66cb5232a", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.11.99", "doctrine/cache": "^1.0", + "doctrine/deprecations": "^0.5.3", "doctrine/event-manager": "^1.0", "php": "^7.3 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.1", - "jetbrains/phpstorm-stubs": "^2019.1", - "phpstan/phpstan": "^0.12.40", + "doctrine/coding-standard": "8.2.0", + "jetbrains/phpstorm-stubs": "2020.2", + "phpstan/phpstan": "0.12.81", "phpstan/phpstan-strict-rules": "^0.12.2", - "phpunit/phpunit": "^9.4", - "psalm/plugin-phpunit": "^0.10.0", + "phpunit/phpunit": "9.5.0", + "psalm/plugin-phpunit": "0.13.0", + "squizlabs/php_codesniffer": "3.6.0", "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "^3.17.2" + "vimeo/psalm": "4.6.4" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -5089,11 +5217,6 @@ "bin/doctrine-dbal" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\DBAL\\": "src" @@ -5143,6 +5266,10 @@ "sqlserver", "sqlsrv" ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/3.1.0" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -5157,7 +5284,50 @@ "type": "tidelift" } ], - "time": "2020-11-15T18:20:41+00:00" + "time": "2021-04-19T17:51:23+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v0.5.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", + "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0|^7.0|^8.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v0.5.3" + }, + "time": "2021-03-21T12:59:47+00:00" }, { "name": "doctrine/event-manager", @@ -5255,20 +5425,22 @@ }, { "name": "fakerphp/faker", - "version": "v1.13.0", + "version": "v1.14.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913" + "reference": "ed22aee8d17c7b396f74a58b1e7fefa4f90d5ef1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ab3f5364d01f2c2c16113442fb987d26e4004913", - "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ed22aee8d17c7b396f74a58b1e7fefa4f90d5ef1", + "reference": "ed22aee8d17c7b396f74a58b1e7fefa4f90d5ef1", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^7.1 || ^8.0", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.2" }, "conflict": { "fzaninotto/faker": "*" @@ -5276,9 +5448,20 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-intl": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.4.2" + "symfony/phpunit-bridge": "^4.4 || ^5.2" + }, + "suggest": { + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.15-dev" + } + }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -5301,9 +5484,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.13.0" + "source": "https://github.com/FakerPHP/Faker/tree/v.1.14.1" }, - "time": "2020-12-18T16:50:48+00:00" + "time": "2021-03-30T06:27:33+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -5428,16 +5611,16 @@ }, { "name": "mockery/mockery", - "version": "1.4.2", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "20cab678faed06fac225193be281ea0fddb43b93" + "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/20cab678faed06fac225193be281ea0fddb43b93", - "reference": "20cab678faed06fac225193be281ea0fddb43b93", + "url": "https://api.github.com/repos/mockery/mockery/zipball/d1339f64479af1bee0e82a0413813fe5345a54ea", + "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea", "shasum": "" }, "require": { @@ -5492,7 +5675,11 @@ "test double", "testing" ], - "time": "2020-08-11T18:10:13+00:00" + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/1.4.3" + }, + "time": "2021-02-24T09:51:49+00:00" }, { "name": "myclabs/deep-copy", @@ -5554,16 +5741,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.10.4", + "version": "v4.10.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", - "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f", + "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f", "shasum": "" }, "require": { @@ -5602,7 +5789,11 @@ "parser", "php" ], - "time": "2020-12-20T10:01:03+00:00" + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5" + }, + "time": "2021-05-03T19:11:20+00:00" }, { "name": "nunomaduro/larastan", @@ -5749,6 +5940,10 @@ "orchestral", "testing" ], + "support": { + "issues": "https://github.com/orchestral/testbench/issues", + "source": "https://github.com/orchestral/testbench/tree/v6.7.2" + }, "funding": [ { "url": "https://paypal.me/crynobone", @@ -5763,37 +5958,39 @@ }, { "name": "orchestra/testbench-core", - "version": "v6.9.2", + "version": "v6.21.1", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "389f145f7afbebc77765f3ef5d5af748fef0eebf" + "reference": "a4e0660f1cf85760853ae105f937632888b114c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/389f145f7afbebc77765f3ef5d5af748fef0eebf", - "reference": "389f145f7afbebc77765f3ef5d5af748fef0eebf", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/a4e0660f1cf85760853ae105f937632888b114c6", + "reference": "a4e0660f1cf85760853ae105f937632888b114c6", "shasum": "" }, "require": { "fakerphp/faker": "^1.9.1", - "php": ">=7.2.5 || >=8.0", - "symfony/yaml": "^4.3 || ^5.0", + "php": "^7.3 || ^8.0", + "symfony/yaml": "^5.0", "vlucas/phpdotenv": "^5.1" }, "require-dev": { - "laravel/framework": "^8.0", + "laravel/framework": "^8.26", "laravel/laravel": "8.x-dev", - "mockery/mockery": "^1.3.2", - "orchestra/canvas": "^6.0", - "phpunit/phpunit": "^8.4 || ^9.0" + "mockery/mockery": "^1.4.2", + "orchestra/canvas": "^6.1", + "phpunit/phpunit": "^8.4 || ^9.3.3 || ^10.0", + "spatie/laravel-ray": "^1.7.1", + "symfony/process": "^5.0" }, "suggest": { - "laravel/framework": "Required for testing (^8.0).", - "mockery/mockery": "Allow using Mockery for testing (^1.3.2).", + "laravel/framework": "Required for testing (^8.26).", + "mockery/mockery": "Allow using Mockery for testing (^1.4.2).", "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^6.0).", "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^6.0).", - "phpunit/phpunit": "Allow using PHPUnit for testing (^8.4 || ^9.0)." + "phpunit/phpunit": "Allow using PHPUnit for testing (^8.4|^9.3.3)." }, "bin": [ "testbench" @@ -5821,7 +6018,7 @@ } ], "description": "Testing Helper for Laravel Development", - "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/", + "homepage": "https://packages.tools/testbench", "keywords": [ "BDD", "TDD", @@ -5830,6 +6027,10 @@ "orchestral", "testing" ], + "support": { + "issues": "https://github.com/orchestral/testbench/issues", + "source": "https://github.com/orchestral/testbench-core" + }, "funding": [ { "url": "https://paypal.me/crynobone", @@ -5840,7 +6041,7 @@ "type": "liberapay" } ], - "time": "2020-12-30T12:42:02+00:00" + "time": "2021-04-21T02:44:17+00:00" }, { "name": "phar-io/manifest", @@ -5904,16 +6105,16 @@ }, { "name": "phar-io/version", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" + "reference": "bae7c545bef187884426f042434e561ab1ddb182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", "shasum": "" }, "require": { @@ -5949,9 +6150,9 @@ "description": "Library for handling version information and constraints", "support": { "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.0.4" + "source": "https://github.com/phar-io/version/tree/3.1.0" }, - "time": "2020-12-13T23:18:30+00:00" + "time": "2021-02-23T14:00:09+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -6113,16 +6314,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.12.2", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "245710e971a030f42e08f4912863805570f23d39" + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", - "reference": "245710e971a030f42e08f4912863805570f23d39", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", "shasum": "" }, "require": { @@ -6174,22 +6375,22 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + "source": "https://github.com/phpspec/prophecy/tree/1.13.0" }, - "time": "2020-12-19T10:15:11+00:00" + "time": "2021-03-17T13:42:18+00:00" }, { "name": "phpstan/phpstan", - "version": "0.12.65", + "version": "0.12.86", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "1c7658668b28f8d647a8b874372acf14c4352688" + "reference": "a84fdc53ecca7643dbc89ef8880d8b393a6c155a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1c7658668b28f8d647a8b874372acf14c4352688", - "reference": "1c7658668b28f8d647a8b874372acf14c4352688", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a84fdc53ecca7643dbc89ef8880d8b393a6c155a", + "reference": "a84fdc53ecca7643dbc89ef8880d8b393a6c155a", "shasum": "" }, "require": { @@ -6218,6 +6419,10 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/0.12.86" + }, "funding": [ { "url": "https://github.com/ondrejmirtes", @@ -6232,20 +6437,20 @@ "type": "tidelift" } ], - "time": "2021-01-06T16:51:10+00:00" + "time": "2021-05-08T11:29:01+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.5", + "version": "9.2.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" + "reference": "f6293e1b30a2354e8428e004689671b83871edde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", - "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", + "reference": "f6293e1b30a2354e8428e004689671b83871edde", "shasum": "" }, "require": { @@ -6299,13 +6504,17 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-11-28T06:44:49+00:00" + "time": "2021-03-28T07:26:59+00:00" }, { "name": "phpunit/php-file-iterator", @@ -6355,6 +6564,10 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6414,6 +6627,10 @@ "keywords": [ "process" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6469,6 +6686,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6524,6 +6745,10 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6534,16 +6759,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.0", + "version": "9.5.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe" + "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", - "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", + "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", "shasum": "" }, "require": { @@ -6619,6 +6844,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.4" + }, "funding": [ { "url": "https://phpunit.de/donate.html", @@ -6629,7 +6858,7 @@ "type": "github" } ], - "time": "2020-12-04T05:05:53+00:00" + "time": "2021-03-23T07:16:29+00:00" }, { "name": "react/promise", @@ -6725,6 +6954,10 @@ ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6777,6 +7010,10 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6828,6 +7065,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6898,6 +7139,10 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -6951,6 +7196,10 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7013,6 +7262,10 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7072,6 +7325,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7145,6 +7402,10 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7205,6 +7466,10 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7258,6 +7523,10 @@ ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7311,6 +7580,10 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7362,6 +7635,10 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7421,6 +7698,10 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7472,6 +7753,10 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7524,6 +7809,10 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7573,6 +7862,10 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -7694,16 +7987,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d" + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/fa8f8cab6b65e2d99a118e082935344c5ba8c60d", - "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0", + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0", "shasum": "" }, "require": { @@ -7733,10 +8026,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.2.1" + "source": "https://github.com/symfony/filesystem/tree/v5.2.7" }, "funding": [ { @@ -7752,20 +8045,20 @@ "type": "tidelift" } ], - "time": "2020-11-30T17:05:38+00:00" + "time": "2021-04-01T10:42:13+00:00" }, { "name": "symfony/yaml", - "version": "v5.2.1", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "290ea5e03b8cf9b42c783163123f54441fb06939" + "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/290ea5e03b8cf9b42c783163123f54441fb06939", - "reference": "290ea5e03b8cf9b42c783163123f54441fb06939", + "url": "https://api.github.com/repos/symfony/yaml/zipball/76546cbeddd0a9540b4e4e57eddeec3e9bb444a5", + "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5", "shasum": "" }, "require": { @@ -7808,10 +8101,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", + "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.2.1" + "source": "https://github.com/symfony/yaml/tree/v5.2.7" }, "funding": [ { @@ -7827,7 +8120,7 @@ "type": "tidelift" } ], - "time": "2020-12-08T17:02:38+00:00" + "time": "2021-04-29T20:47:09+00:00" }, { "name": "theseer/tokenizer", @@ -7889,5 +8182,5 @@ "php": "^7.3|^8.0" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.0.0" } From bd61b03b82a5031510e0cebd8ee2a3a35798b2cc Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:54:01 +0900 Subject: [PATCH 09/11] Format --- src/EloquentSerializedLobServiceProvider.php | 10 ++---- src/SerializedLobTrait.php | 9 ------ src/Serializers/JsonSerializer.php | 7 ++--- src/Serializers/SerializerFactory.php | 15 +++++---- src/Serializers/SerializerInterface.php | 7 ++--- src/Serializers/XmlSerializer.php | 7 ++--- tests/SerializedLobTraitTest.php | 31 ++++++------------- tests/Serializers/JsonSerializerTest.php | 6 ---- tests/Serializers/SerializerFactoryTest.php | 16 ++-------- tests/Serializers/XmlSerializerTest.php | 6 ---- tests/TestCase.php | 5 --- ...16_07_26_110000_create_customers_table.php | 2 +- .../2016_07_26_120000_create_issues_table.php | 2 +- .../issue_database/Entities/Bug.php | 22 ++----------- .../Entities/FeatureRequest.php | 13 ++------ .../issue_database/Models/Issue.php | 15 +++------ .../Entities/Department.php | 20 +++--------- .../Models/Customer.php | 7 ++--- 18 files changed, 45 insertions(+), 155 deletions(-) diff --git a/src/EloquentSerializedLobServiceProvider.php b/src/EloquentSerializedLobServiceProvider.php index 72a2e91..aeec98f 100644 --- a/src/EloquentSerializedLobServiceProvider.php +++ b/src/EloquentSerializedLobServiceProvider.php @@ -7,17 +7,13 @@ use Doctrine\Common\Annotations\AnnotationRegistry; use Illuminate\Support\ServiceProvider; use JMS\Serializer\SerializerBuilder; -use Ngmy\EloquentSerializedLob\Serializers\{ - JsonSerializer, - XmlSerializer, -}; +use Ngmy\EloquentSerializedLob\Serializers\JsonSerializer; +use Ngmy\EloquentSerializedLob\Serializers\XmlSerializer; class EloquentSerializedLobServiceProvider extends ServiceProvider { /** * Bootstrap the application services. - * - * @return void */ public function boot(): void { @@ -26,8 +22,6 @@ public function boot(): void /** * Register the application services. - * - * @return void */ public function register(): void { diff --git a/src/SerializedLobTrait.php b/src/SerializedLobTrait.php index 833e4a3..c0862b7 100644 --- a/src/SerializedLobTrait.php +++ b/src/SerializedLobTrait.php @@ -39,18 +39,9 @@ public function setAttribute($key, $value) } } - /** - * @return string - */ abstract protected function getSerializationColumn(): string; - /** - * @return string - */ abstract protected function getSerializationType(): string; - /** - * @return string - */ abstract protected function getDeserializationType(): string; } diff --git a/src/Serializers/JsonSerializer.php b/src/Serializers/JsonSerializer.php index 02e0c9a..a148a10 100644 --- a/src/Serializers/JsonSerializer.php +++ b/src/Serializers/JsonSerializer.php @@ -12,7 +12,6 @@ class JsonSerializer implements SerializerInterface protected $serializer; /** - * @param JmsSerializerInterface $serializer * @return void */ public function __construct(JmsSerializerInterface $serializer) @@ -21,8 +20,7 @@ public function __construct(JmsSerializerInterface $serializer) } /** - * @param object|array $value - * @return string + * @param array|object $value */ public function serialize($value): string { @@ -31,9 +29,8 @@ public function serialize($value): string /** * @template T - * @param string $value * @param class-string $type - * @return object|array + * @return array|object */ public function deserialize(string $value, string $type) { diff --git a/src/Serializers/SerializerFactory.php b/src/Serializers/SerializerFactory.php index b2fea10..06c91fd 100644 --- a/src/Serializers/SerializerFactory.php +++ b/src/Serializers/SerializerFactory.php @@ -7,15 +7,17 @@ use BadMethodCallException; use InvalidArgumentException; +use function class_exists; +use function get_class; +use function strtolower; + +use const PHP_EOL; + class SerializerFactory { /** @var array */ private static $cache = []; - /** - * @param string $type - * @return SerializerInterface - */ public static function get(string $type): SerializerInterface { if (empty(self::$cache[$type])) { @@ -26,8 +28,6 @@ public static function get(string $type): SerializerInterface } /** - * @param string $type - * @return SerializerInterface * @throws InvalidArgumentException */ public static function make(string $type): SerializerInterface @@ -54,8 +54,8 @@ public static function make(string $type): SerializerInterface } /** - * @return void * @throws BadMethodCallException + * @return void */ public function __clone() { @@ -67,7 +67,6 @@ public function __clone() } /** - * @return void * @throws BadMethodCallException */ public function __wakeup(): void diff --git a/src/Serializers/SerializerInterface.php b/src/Serializers/SerializerInterface.php index 7139caf..6ed92e2 100644 --- a/src/Serializers/SerializerInterface.php +++ b/src/Serializers/SerializerInterface.php @@ -7,15 +7,12 @@ interface SerializerInterface { /** - * @param object|array $value - * @return string + * @param array|object $value */ public function serialize($value): string; /** - * @param string $value - * @param string $type - * @return object|array + * @return array|object */ public function deserialize(string $value, string $type); } diff --git a/src/Serializers/XmlSerializer.php b/src/Serializers/XmlSerializer.php index 68f1fb8..a5e4147 100644 --- a/src/Serializers/XmlSerializer.php +++ b/src/Serializers/XmlSerializer.php @@ -12,7 +12,6 @@ class XmlSerializer implements SerializerInterface protected $serializer; /** - * @param JmsSerializerInterface $serializer * @return void */ public function __construct(JmsSerializerInterface $serializer) @@ -21,8 +20,7 @@ public function __construct(JmsSerializerInterface $serializer) } /** - * @param object|array $value - * @return string + * @param array|object $value */ public function serialize($value): string { @@ -31,9 +29,8 @@ public function serialize($value): string /** * @template T - * @param string $value * @param class-string $type - * @return object|array + * @return array|object */ public function deserialize(string $value, string $type) { diff --git a/tests/SerializedLobTraitTest.php b/tests/SerializedLobTraitTest.php index 629aa03..ec30ed8 100644 --- a/tests/SerializedLobTraitTest.php +++ b/tests/SerializedLobTraitTest.php @@ -6,20 +6,19 @@ use DB; use Illuminate\Testing\PendingCommand; -use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\{ - Entities\Bug, - Entities\FeatureRequest, - Models\Issue, -}; -use Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\{ - Entities\Department, - Models\Customer, -}; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities\Bug; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities\FeatureRequest; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Models\Issue; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\Entities\Department; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\Models\Customer; + +use function assert; +use function is_array; +use function is_null; class SerializedLobTraitTest extends TestCase { /** - * @return void * @doesNotPerformAssertions */ public function testGenerateModelPhpDocComment(): void @@ -37,9 +36,6 @@ public function testGenerateModelPhpDocComment(): void $command->run(); } - /** - * @return void - */ public function testShouldSetSerializationOfAttributeWhenStoringGraphOfObjectsInOneTable(): void { $area = new Department(); @@ -86,9 +82,6 @@ public function testShouldSetSerializationOfAttributeWhenStoringGraphOfObjectsIn $this->assertEquals($expectedDepartmentsXml, $createdCustomer->departments); } - /** - * @return void - */ public function testShouldGetDeserializationOfAttributeWhenStoringGraphOfObjectsInOneTable(): void { $departmentsXml = <<assertEquals('{"sponsor":"Sponsor"}', $createdIssueTypeFeature->attributes); } - /** - * @return void - */ public function testShouldGetDeserializationOfAttributeWhenStoringSubtypesOfObjectInOneTable(): void { // issue_type is 'bug'. diff --git a/tests/Serializers/JsonSerializerTest.php b/tests/Serializers/JsonSerializerTest.php index d998964..43349b8 100644 --- a/tests/Serializers/JsonSerializerTest.php +++ b/tests/Serializers/JsonSerializerTest.php @@ -10,9 +10,6 @@ class JsonSerializerTest extends TestCase { - /** - * @return void - */ public function testShouldSerializeGivenObjectToJsonFormattedString(): void { $inputBug = new Bug(); @@ -29,9 +26,6 @@ public function testShouldSerializeGivenObjectToJsonFormattedString(): void $this->assertEquals($expectedBugJson, $actualBugJson); } - /** - * @return void - */ public function testShouldDeserializeGivenJsonFormattedStringToObject(): void { $inputBugJson = << $expected - * @return void * @dataProvider providerMake */ public function testMake(string $type, string $expected): void @@ -50,9 +46,6 @@ public function testMake(string $type, string $expected): void $this->assertInstanceOf($expected, $serializer); } - /** - * @return void - */ public function testMakeThrowsAnExceptionWhenAClassNameThatDoesNotImplementTheSerializerInterfaceIsSpecified(): void { $this->expectException(InvalidArgumentException::class); @@ -60,9 +53,6 @@ public function testMakeThrowsAnExceptionWhenAClassNameThatDoesNotImplementTheSe $serializer = SerializerFactory::make(stdClass::class); } - /** - * @return void - */ public function testMakeThrowsAnExceptionWhenAnInvalidTypeIsSpecified(): void { $this->expectException(InvalidArgumentException::class); diff --git a/tests/Serializers/XmlSerializerTest.php b/tests/Serializers/XmlSerializerTest.php index f3c72c4..d2aec08 100644 --- a/tests/Serializers/XmlSerializerTest.php +++ b/tests/Serializers/XmlSerializerTest.php @@ -10,9 +10,6 @@ class XmlSerializerTest extends TestCase { - /** - * @return void - */ public function testShouldSerializeGivenObjectToXmlFormattedString(): void { $inputBug = new Bug(); @@ -34,9 +31,6 @@ public function testShouldSerializeGivenObjectToXmlFormattedString(): void $this->assertEquals($expectedBugXml, $actualBugXml); } - /** - * @return void - */ public function testShouldDeserializeGivenXmlFormattedStringToObject(): void { $inputBugXml = <<severity; } - /** - * @return string - */ public function getVersionAffected(): string { return $this->versionAffected; } - /** - * @param string $severity - * @return void - */ public function setSeverity(string $severity): void { $this->severity = $severity; } - /** - * @param string $versionAffected - * @return void - */ public function setVersionAffected(string $versionAffected): void { $this->versionAffected = $versionAffected; diff --git a/tests/sample_projects/issue_database/Entities/FeatureRequest.php b/tests/sample_projects/issue_database/Entities/FeatureRequest.php index 9df84a3..72da43f 100644 --- a/tests/sample_projects/issue_database/Entities/FeatureRequest.php +++ b/tests/sample_projects/issue_database/Entities/FeatureRequest.php @@ -4,10 +4,8 @@ namespace Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities; -use JMS\Serializer\Annotation\{ - Accessor, - Type, -}; +use JMS\Serializer\Annotation\Accessor; +use JMS\Serializer\Annotation\Type; class FeatureRequest { @@ -18,18 +16,11 @@ class FeatureRequest */ private $sponsor; - /** - * @return string - */ public function getSponsor(): string { return $this->sponsor; } - /** - * @param string $sponsor - * @return void - */ public function setSponsor(string $sponsor): void { $this->sponsor = $sponsor; diff --git a/tests/sample_projects/issue_database/Models/Issue.php b/tests/sample_projects/issue_database/Models/Issue.php index 5d57ac6..2273d4b 100644 --- a/tests/sample_projects/issue_database/Models/Issue.php +++ b/tests/sample_projects/issue_database/Models/Issue.php @@ -5,17 +5,12 @@ namespace Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Models; use Eloquent; -use Illuminate\Database\Eloquent\{ - Builder, - Model, -}; +use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Carbon; use Ngmy\EloquentSerializedLob\SerializedLobTrait; -use Ngmy\EloquentSerializedLob\Serializer\JsonSerializer; -use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities\{ - Bug, - FeatureRequest, -}; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities\Bug; +use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities\FeatureRequest; /** * Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Models\Issue @@ -27,7 +22,7 @@ * @property string|null $version_resolved * @property string|null $status * @property string|null $issue_type - * @property Bug|FeatureRequest|array $attributes + * @property array|Bug|FeatureRequest $attributes * @property Carbon|null $created_at * @property Carbon|null $updated_at * @method static Builder|Issue newModelQuery() diff --git a/tests/sample_projects/organization_hierarchy/Entities/Department.php b/tests/sample_projects/organization_hierarchy/Entities/Department.php index 21b41f3..f2305b8 100644 --- a/tests/sample_projects/organization_hierarchy/Entities/Department.php +++ b/tests/sample_projects/organization_hierarchy/Entities/Department.php @@ -4,10 +4,10 @@ namespace Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\Entities; -use JMS\Serializer\Annotation\{ - Accessor, - Type, -}; +use JMS\Serializer\Annotation\Accessor; +use JMS\Serializer\Annotation\Type; + +use function is_null; class Department { @@ -24,9 +24,6 @@ class Department */ private $subsidiaries; - /** - * @return string - */ public function getName(): string { return $this->name; @@ -40,10 +37,6 @@ public function getSubsidiaries(): ?array return $this->subsidiaries; } - /** - * @param string $name - * @return void - */ public function setName(string $name): void { $this->name = $name; @@ -51,17 +44,12 @@ public function setName(string $name): void /** * @param array $subsidiaries - * @return void */ public function setSubsidiaries(array $subsidiaries): void { $this->subsidiaries = $subsidiaries; } - /** - * @param Department $subsidiary - * @return void - */ public function addSubsidiary(Department $subsidiary): void { if (is_null($this->subsidiaries)) { diff --git a/tests/sample_projects/organization_hierarchy/Models/Customer.php b/tests/sample_projects/organization_hierarchy/Models/Customer.php index 83f06a8..dfdad6a 100644 --- a/tests/sample_projects/organization_hierarchy/Models/Customer.php +++ b/tests/sample_projects/organization_hierarchy/Models/Customer.php @@ -5,13 +5,10 @@ namespace Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\Models; use Eloquent; -use Illuminate\Database\Eloquent\{ - Builder, - Model, -}; +use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Carbon; use Ngmy\EloquentSerializedLob\SerializedLobTrait; -use Ngmy\EloquentSerializedLob\Serializer\XmlSerializer; use Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\Entities\Department; /** From 146dfd67dcf43008622f3cfe213ab0cffd676773 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Tue, 11 May 2021 22:59:10 +0900 Subject: [PATCH 10/11] Update --- .github/workflows/php.yml | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 96debb0..36abd43 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: install_tools: - runs-on: ubuntu-latest + runs-on: ubuntu-18.04 name: Install tools @@ -13,26 +13,10 @@ jobs: - name: Check out repository uses: actions/checkout@v2 - - name: Install PHIVE - uses: nick-invision/retry@v2 - with: - timeout_minutes: 10 - max_attempts: 3 - command: | - wget -O phive.phar https://phar.io/releases/phive.phar - wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc - gpg --keyserver pool.sks-keyservers.net --recv-keys 0x9D8A98B29B2D5D79 - gpg --verify phive.phar.asc phive.phar - - name: Install tools - uses: nick-invision/retry@v2 + uses: ngmy/phive-install-action@master with: - timeout_minutes: 10 - max_attempts: 3 - command: | - php phive.phar --no-progress install \ - --copy \ - --trust-gpg-keys E82B2FB314E9906E,31C7E470E2138192,CF1A108D0E7AE720,4AA394086372C20A + phive-arguments: --force-accept-unsigned - name: Upload tools to artifact store uses: actions/upload-artifact@master @@ -44,7 +28,7 @@ jobs: needs: install_tools - runs-on: ubuntu-latest + runs-on: ubuntu-18.04 services: mysql: @@ -81,7 +65,7 @@ jobs: run: sudo update-alternatives --set php /usr/bin/php${{ matrix.php }} - name: Update Composer to latest version - run: composer self-update + run: sudo composer self-update - name: Specify composer.json to use run: | @@ -126,15 +110,20 @@ jobs: name: tools path: tools + - name: Set tools as an executable + run: find tools -type f -print0 | xargs -0 chmod +x + - name: Change MySQL authentication method run: mysql -h 127.0.0.1 -u root -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY ''" - name: Run lint + env: + PSALM_SHEPHERD: 1 + # TODO: Remove it when psalm no longer tries to create a cache directory + # https://github.com/vimeo/psalm/issues/4267 + XDG_CACHE_HOME: /tmp run: composer lint - - name: Run bug analysis - run: composer findbugs - - name: Run unit tests env: DB_HOST: '127.0.0.1' From abc8ad70762c5151a1d8753074778dc01a0f7835 Mon Sep 17 00:00:00 2001 From: Yuta Nagamiya Date: Wed, 12 May 2021 02:47:09 +0900 Subject: [PATCH 11/11] Fix Psalm errors --- src/EloquentSerializedLobServiceProvider.php | 2 + src/SerializedLobTrait.php | 12 ++++- src/Serializers/JsonSerializer.php | 15 +++--- src/Serializers/SerializerFactory.php | 46 ++++++++++++++++--- src/Serializers/SerializerInterface.php | 10 +++- src/Serializers/XmlSerializer.php | 15 +++--- tests/SerializedLobTraitTest.php | 25 ++++++---- tests/Serializers/SerializerFactoryTest.php | 17 +++++-- .../issue_database/Models/Issue.php | 13 +++++- .../Models/Customer.php | 10 ++++ 10 files changed, 130 insertions(+), 35 deletions(-) diff --git a/src/EloquentSerializedLobServiceProvider.php b/src/EloquentSerializedLobServiceProvider.php index aeec98f..2162531 100644 --- a/src/EloquentSerializedLobServiceProvider.php +++ b/src/EloquentSerializedLobServiceProvider.php @@ -17,6 +17,8 @@ class EloquentSerializedLobServiceProvider extends ServiceProvider */ public function boot(): void { + // TODO: This will no longer be necessary in doctrine/annotations 2.0 + /** @psalm-suppress DeprecatedMethod */ AnnotationRegistry::registerLoader('class_exists'); } diff --git a/src/SerializedLobTrait.php b/src/SerializedLobTrait.php index c0862b7..6c8555e 100644 --- a/src/SerializedLobTrait.php +++ b/src/SerializedLobTrait.php @@ -26,8 +26,8 @@ public function getAttribute($key) /** * @param string $key * @param mixed $value - * @see \Illuminate\Database\Eloquent\Concerns\HasAttributes::getAttribute() * @return $this + * @see \Illuminate\Database\Eloquent\Concerns\HasAttributes::getAttribute() */ public function setAttribute($key, $value) { @@ -41,7 +41,17 @@ public function setAttribute($key, $value) abstract protected function getSerializationColumn(): string; + /** + * @phpstan-return 'json'|'xml'|class-string + * + * @psalm-return 'json'|'xml'|class-string + */ abstract protected function getSerializationType(): string; + /** + * @phpstan-return class-string + * + * @psalm-return class-string + */ abstract protected function getDeserializationType(): string; } diff --git a/src/Serializers/JsonSerializer.php b/src/Serializers/JsonSerializer.php index a148a10..d863b99 100644 --- a/src/Serializers/JsonSerializer.php +++ b/src/Serializers/JsonSerializer.php @@ -11,9 +11,6 @@ class JsonSerializer implements SerializerInterface /** @var JmsSerializerInterface */ protected $serializer; - /** - * @return void - */ public function __construct(JmsSerializerInterface $serializer) { $this->serializer = $serializer; @@ -28,9 +25,15 @@ public function serialize($value): string } /** - * @template T - * @param class-string $type - * @return array|object + * @return mixed + * + * @phpstan-template T + * @phpstan-param class-string $type + * @phpstan-return T + * + * @psalm-template T + * @psalm-param class-string $type + * @psalm-return T */ public function deserialize(string $value, string $type) { diff --git a/src/Serializers/SerializerFactory.php b/src/Serializers/SerializerFactory.php index 06c91fd..e44d06c 100644 --- a/src/Serializers/SerializerFactory.php +++ b/src/Serializers/SerializerFactory.php @@ -5,6 +5,7 @@ namespace Ngmy\EloquentSerializedLob\Serializers; use BadMethodCallException; +use Illuminate\Contracts\Foundation\Application; use InvalidArgumentException; use function class_exists; @@ -18,32 +19,68 @@ class SerializerFactory /** @var array */ private static $cache = []; + /** + * @throws InvalidArgumentException + * + * @phpstan-param 'json'|'xml'|class-string $type + * + * @psalm-template TSerializer of SerializerInterface + * @psalm-template TType of string|class-string + * @psalm-param TType $type + * @psalm-return ( + * TType is 'json' + * ? JsonSerializer + * : (TType is 'xml' ? XmlSerializer : TSerializer) + * ) + */ public static function get(string $type): SerializerInterface { if (empty(self::$cache[$type])) { self::$cache[$type] = self::make($type); } + /** + * @psalm-var ( + * TType is 'json' + * ? JsonSerializer + * : (TType is 'xml' ? XmlSerializer : TSerializer) + */ return self::$cache[$type]; } /** * @throws InvalidArgumentException + * + * @phpstan-param 'json'|'xml'|class-string $type + * + * @psalm-template TSerializer of SerializerInterface + * @psalm-template TType of string|class-string + * @psalm-param TType $type + * @psalm-return ( + * TType is 'json' + * ? JsonSerializer + * : (TType is 'xml' ? XmlSerializer : TSerializer) + * ) */ public static function make(string $type): SerializerInterface { + /** @psalm-var Application */ + $app = app(); if (strtolower($type) == 'json') { - return app()->make(JsonSerializer::class); + /** @psalm-var JsonSerializer */ + return $app->make(JsonSerializer::class); } elseif (strtolower($type) == 'xml') { - return app()->make(XmlSerializer::class); + /** @psalm-var XmlSerializer */ + return $app->make(XmlSerializer::class); } elseif (class_exists($type)) { - $serializer = app()->make($type); + $serializer = $app->make($type); if (!$serializer instanceof SerializerInterface) { throw new InvalidArgumentException( 'Serializer class must implement the ' . SerializerInterface::class . ' interface.' . PHP_EOL . 'type: ' . $type ); } + /** @psalm-var TSerializer */ return $serializer; } @@ -79,9 +116,6 @@ public function __wakeup(): void ); } - /** - * @return void - */ private function __construct() { } diff --git a/src/Serializers/SerializerInterface.php b/src/Serializers/SerializerInterface.php index 6ed92e2..5465a74 100644 --- a/src/Serializers/SerializerInterface.php +++ b/src/Serializers/SerializerInterface.php @@ -12,7 +12,15 @@ interface SerializerInterface public function serialize($value): string; /** - * @return array|object + * @return mixed + * + * @phpstan-template T + * @phpstan-param class-string $type + * @phpstan-return T + * + * @psalm-template T + * @psalm-param class-string $type + * @psalm-return T */ public function deserialize(string $value, string $type); } diff --git a/src/Serializers/XmlSerializer.php b/src/Serializers/XmlSerializer.php index a5e4147..3b5d29a 100644 --- a/src/Serializers/XmlSerializer.php +++ b/src/Serializers/XmlSerializer.php @@ -11,9 +11,6 @@ class XmlSerializer implements SerializerInterface /** @var JmsSerializerInterface */ protected $serializer; - /** - * @return void - */ public function __construct(JmsSerializerInterface $serializer) { $this->serializer = $serializer; @@ -28,9 +25,15 @@ public function serialize($value): string } /** - * @template T - * @param class-string $type - * @return array|object + * @return mixed + * + * @phpstan-template T + * @phpstan-param class-string $type + * @phpstan-return T + * + * @psalm-template T + * @psalm-param class-string $type + * @psalm-return T */ public function deserialize(string $value, string $type) { diff --git a/tests/SerializedLobTraitTest.php b/tests/SerializedLobTraitTest.php index ec30ed8..64b4a01 100644 --- a/tests/SerializedLobTraitTest.php +++ b/tests/SerializedLobTraitTest.php @@ -4,6 +4,7 @@ namespace Ngmy\EloquentSerializedLob\Tests; +use ArrayIterator; use DB; use Illuminate\Testing\PendingCommand; use Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Entities\Bug; @@ -13,7 +14,6 @@ use Ngmy\EloquentSerializedLob\Tests\SampleProjects\OrganizationHierarchy\Models\Customer; use function assert; -use function is_array; use function is_null; class SerializedLobTraitTest extends TestCase @@ -236,10 +236,15 @@ public function testShouldGetDeserializationOfAttributeWhenStoringSubtypesOfObje assert(!is_null($readIssueTypeFeature)); assert(!is_null($readIssueTypeUnexpected)); assert(!is_null($readIssueTypeNull)); - assert($readIssueTypeBug->attributes instanceof Bug); - assert($readIssueTypeFeature->attributes instanceof FeatureRequest); - assert(is_array($readIssueTypeUnexpected->attributes)); - assert(is_array($readIssueTypeNull->attributes)); + + /** @psalm-var Bug */ + $readIssueTypeBugAttributes = $readIssueTypeBug->attributes; + /** @psalm-var FeatureRequest */ + $readIssueTypeFeatureAttributes = $readIssueTypeFeature->attributes; + /** @psalm-var ArrayIterator */ + $readIssueTypeUnexpectedAttributes = $readIssueTypeUnexpected->attributes; + /** @psalm-var ArrayIterator */ + $readIssueTypeNullAttributes = $readIssueTypeNull->attributes; $this->assertEquals(1, $readIssueTypeBug->reported_by); $this->assertEquals(1, $readIssueTypeBug->product_id); @@ -247,8 +252,8 @@ public function testShouldGetDeserializationOfAttributeWhenStoringSubtypesOfObje $this->assertEquals(null, $readIssueTypeBug->version_resolved); $this->assertEquals('new', $readIssueTypeBug->status); $this->assertEquals('bug', $readIssueTypeBug->issue_type); - $this->assertEquals('loss of functionality', $readIssueTypeBug->attributes->getSeverity()); - $this->assertEquals('1.0', $readIssueTypeBug->attributes->getVersionAffected()); + $this->assertEquals('loss of functionality', $readIssueTypeBugAttributes->getSeverity()); + $this->assertEquals('1.0', $readIssueTypeBugAttributes->getVersionAffected()); $this->assertEquals(1, $readIssueTypeFeature->reported_by); $this->assertEquals(1, $readIssueTypeFeature->product_id); @@ -256,7 +261,7 @@ public function testShouldGetDeserializationOfAttributeWhenStoringSubtypesOfObje $this->assertEquals(null, $readIssueTypeFeature->version_resolved); $this->assertEquals('new', $readIssueTypeFeature->status); $this->assertEquals('feature', $readIssueTypeFeature->issue_type); - $this->assertEquals('Sponsor', $readIssueTypeFeature->attributes->getSponsor()); + $this->assertEquals('Sponsor', $readIssueTypeFeatureAttributes->getSponsor()); $this->assertEquals(1, $readIssueTypeUnexpected->reported_by); $this->assertEquals(1, $readIssueTypeUnexpected->product_id); @@ -264,7 +269,7 @@ public function testShouldGetDeserializationOfAttributeWhenStoringSubtypesOfObje $this->assertEquals(null, $readIssueTypeUnexpected->version_resolved); $this->assertEquals('new', $readIssueTypeUnexpected->status); $this->assertEquals('unexpected', $readIssueTypeUnexpected->issue_type); - $this->assertEquals('value', $readIssueTypeUnexpected->attributes['key']); + $this->assertEquals('value', $readIssueTypeUnexpectedAttributes['key']); $this->assertEquals(1, $readIssueTypeNull->reported_by); $this->assertEquals(1, $readIssueTypeNull->product_id); @@ -272,6 +277,6 @@ public function testShouldGetDeserializationOfAttributeWhenStoringSubtypesOfObje $this->assertEquals(null, $readIssueTypeNull->version_resolved); $this->assertEquals('new', $readIssueTypeNull->status); $this->assertEquals(null, $readIssueTypeNull->issue_type); - $this->assertEquals('value', $readIssueTypeNull->attributes['key']); + $this->assertEquals('value', $readIssueTypeNullAttributes['key']); } } diff --git a/tests/Serializers/SerializerFactoryTest.php b/tests/Serializers/SerializerFactoryTest.php index 20eef4e..4c0bedc 100644 --- a/tests/Serializers/SerializerFactoryTest.php +++ b/tests/Serializers/SerializerFactoryTest.php @@ -7,6 +7,7 @@ use InvalidArgumentException; use Ngmy\EloquentSerializedLob\Serializers\JsonSerializer; use Ngmy\EloquentSerializedLob\Serializers\SerializerFactory; +use Ngmy\EloquentSerializedLob\Serializers\SerializerInterface; use Ngmy\EloquentSerializedLob\Serializers\XmlSerializer; use Ngmy\EloquentSerializedLob\Tests\TestCase; use stdClass; @@ -35,9 +36,13 @@ public function providerMake(): array } /** - * @template ExpectedType of object - * @param class-string $expected * @dataProvider providerMake + * + * @phpstan-param 'json'|'xml'|class-string $type + * @phpstan-param class-string $expected + * + * @psalm-param 'json'|'xml'|class-string $type + * @psalm-param class-string $expected */ public function testMake(string $type, string $expected): void { @@ -50,13 +55,17 @@ public function testMakeThrowsAnExceptionWhenAClassNameThatDoesNotImplementTheSe { $this->expectException(InvalidArgumentException::class); - $serializer = SerializerFactory::make(stdClass::class); + // NOTE: To test that an exception is thrown + // @phpstan-ignore-next-line + SerializerFactory::make(stdClass::class); } public function testMakeThrowsAnExceptionWhenAnInvalidTypeIsSpecified(): void { $this->expectException(InvalidArgumentException::class); - $serializer = SerializerFactory::make('invalid'); + // NOTE: To test that an exception is thrown + // @phpstan-ignore-next-line + SerializerFactory::make('invalid'); } } diff --git a/tests/sample_projects/issue_database/Models/Issue.php b/tests/sample_projects/issue_database/Models/Issue.php index 2273d4b..323b7d8 100644 --- a/tests/sample_projects/issue_database/Models/Issue.php +++ b/tests/sample_projects/issue_database/Models/Issue.php @@ -4,6 +4,7 @@ namespace Ngmy\EloquentSerializedLob\Tests\SampleProjects\IssueDatabase\Models; +use ArrayIterator; use Eloquent; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; @@ -60,11 +61,21 @@ protected function getSerializationColumn(): string return 'attributes'; } + /** + * @phpstan-return 'json' + * + * @psalm-return 'json' + */ protected function getSerializationType(): string { return 'json'; } + /** + * @phpstan-return class-string|class-string|class-string + * + * @psalm-return class-string|class-string|class-string + */ protected function getDeserializationType(): string { if ($this->issue_type == 'bug') { @@ -73,7 +84,7 @@ protected function getDeserializationType(): string return FeatureRequest::class; } else { // Guard for null or unexpected value. - return 'array'; + return ArrayIterator::class; } } } diff --git a/tests/sample_projects/organization_hierarchy/Models/Customer.php b/tests/sample_projects/organization_hierarchy/Models/Customer.php index dfdad6a..4472921 100644 --- a/tests/sample_projects/organization_hierarchy/Models/Customer.php +++ b/tests/sample_projects/organization_hierarchy/Models/Customer.php @@ -44,11 +44,21 @@ protected function getSerializationColumn(): string return 'departments'; } + /** + * @phpstan-return 'xml' + * + * @psalm-return 'xml' + */ protected function getSerializationType(): string { return 'xml'; } + /** + * @phpstan-return class-string + * + * @psalm-return class-string + */ protected function getDeserializationType(): string { return Department::class;