From fe8660f464e8e6580449bd4ea249ab31868afcc9 Mon Sep 17 00:00:00 2001 From: Alies Lapatsin Date: Mon, 30 Jan 2023 12:28:42 +0100 Subject: [PATCH] chore: update psalm (#6532) --- app/Exceptions/FileNotFoundException.php | 2 +- app/Traits/Hasher.php | 6 + composer.json | 2 +- composer.lock | 405 +++++++++++------- psalm.xml | 4 +- tests/DuskTestCase.php | 2 +- .../UpdateSubscriptionLocalSyncTokenTest.php | 1 + 7 files changed, 254 insertions(+), 168 deletions(-) diff --git a/app/Exceptions/FileNotFoundException.php b/app/Exceptions/FileNotFoundException.php index 130c2f470..791e1d3d8 100644 --- a/app/Exceptions/FileNotFoundException.php +++ b/app/Exceptions/FileNotFoundException.php @@ -23,7 +23,7 @@ class FileNotFoundException extends FileNotFoundExceptionBase parent::__construct(); } - public function __toString() + public function __toString(): string { return 'File not found: '.$this->fileName; } diff --git a/app/Traits/Hasher.php b/app/Traits/Hasher.php index 27d944b62..9f276db73 100644 --- a/app/Traits/Hasher.php +++ b/app/Traits/Hasher.php @@ -5,8 +5,14 @@ namespace App\Traits; use App\Services\Instance\IdHasher; use Illuminate\Database\Eloquent\Model; +/** @psalm-implements \App\Interfaces\Hashing */ trait Hasher { + /** + * @psalm-suppress MethodSignatureMustProvideReturnType + * + * @return string + */ public function getRouteKey() { return app(IdHasher::class)->encodeId(parent::getRouteKey()); diff --git a/composer.json b/composer.json index b7ae5191f..255babfb7 100644 --- a/composer.json +++ b/composer.json @@ -79,7 +79,7 @@ "roave/security-advisories": "dev-master", "spatie/laravel-ignition": "^1.0", "thecodingmachine/phpstan-safe-rule": "^1.0", - "vimeo/psalm": "^4.0" + "vimeo/psalm": "^5.5" }, "suggest": { "ext-apcu": "*" diff --git a/composer.lock b/composer.lock index b87429c94..b86f4d7fb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3ebc28c0ab93392b49b68eaf2efbfa77", + "content-hash": "97cdf44688f77f53c96285c17f322f1b", "packages": [ { "name": "asbiin/laravel-adorable", @@ -13646,6 +13646,67 @@ }, "time": "2022-03-02T22:36:06+00:00" }, + { + "name": "fidry/cpu-core-counter", + "version": "0.4.1", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "79261cc280aded96d098e1b0e0ba0c4881b432c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/79261cc280aded96d098e1b0e0ba0c4881b432c2", + "reference": "79261cc280aded96d098e1b0e0ba0c4881b432c2", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.26 || ^8.5.31", + "theofidry/php-cs-fixer-config": "^1.0", + "webmozarts/strict-phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/0.4.1" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2022-12-16T22:01:02+00:00" + }, { "name": "filp/whoops", "version": "2.14.6", @@ -14554,59 +14615,6 @@ ], "time": "2022-11-04T14:58:00+00:00" }, - { - "name": "openlss/lib-array2xml", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/nullivex/lib-array2xml.git", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "LSS": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Bryan Tong", - "email": "bryan@nullivex.com", - "homepage": "https://www.nullivex.com" - }, - { - "name": "Tony Butler", - "email": "spudz76@gmail.com", - "homepage": "https://www.nullivex.com" - } - ], - "description": "Array2XML conversion library credit to lalit.org", - "homepage": "https://www.nullivex.com", - "keywords": [ - "array", - "array conversion", - "xml", - "xml conversion" - ], - "support": { - "issues": "https://github.com/nullivex/lib-array2xml/issues", - "source": "https://github.com/nullivex/lib-array2xml/tree/master" - }, - "time": "2019-03-29T20:06:56+00:00" - }, { "name": "orchestra/testbench", "version": "v7.14.0", @@ -15732,45 +15740,44 @@ }, { "name": "psalm/plugin-laravel", - "version": "v2.0.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/psalm/psalm-plugin-laravel.git", - "reference": "e56a90f322bef7246523ec76bdc31204f2ed6e60" + "reference": "e6eaed7d935663acce940fc70ca2c7bd2ddb2d8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/psalm/psalm-plugin-laravel/zipball/e56a90f322bef7246523ec76bdc31204f2ed6e60", - "reference": "e56a90f322bef7246523ec76bdc31204f2ed6e60", + "url": "https://api.github.com/repos/psalm/psalm-plugin-laravel/zipball/e6eaed7d935663acce940fc70ca2c7bd2ddb2d8e", + "reference": "e6eaed7d935663acce940fc70ca2c7bd2ddb2d8e", "shasum": "" }, "require": { - "barryvdh/laravel-ide-helper": "^2.10", + "barryvdh/laravel-ide-helper": "^2.12", "ext-simplexml": "*", - "illuminate/config": "^8.0 || ^9.0", - "illuminate/container": "^8.0 || ^9.0", - "illuminate/contracts": "^8.0 || ^9.0", - "illuminate/database": "^8.0 || ^9.0", - "illuminate/events": "^8.0 || ^9.0", - "illuminate/http": "^8.0 || ^9.0", - "illuminate/routing": "^8.0 || ^9.0", - "illuminate/support": "^8.0 || ^9.0", - "illuminate/view": "^8.0 || ^9.0", - "orchestra/testbench": "^6.22 || ^7.0", - "php": "^8.0", - "vimeo/psalm": "^4.8.1" + "illuminate/config": "^9.2", + "illuminate/container": "^9.2", + "illuminate/contracts": "^9.2", + "illuminate/database": "^9.2", + "illuminate/events": "^9.2", + "illuminate/http": "^9.2", + "illuminate/routing": "^9.2", + "illuminate/support": "^9.2", + "illuminate/view": "^9.2", + "orchestra/testbench": "^7.1", + "php": "^8.0.2", + "vimeo/psalm": "^4.30 || ^5.0.0-rc1" }, "require-dev": { "codeception/codeception": "^5.0", - "codeception/module-asserts": "*@dev", + "codeception/module-asserts": "^3.0", "codeception/module-cli": "^2.0", "codeception/module-filesystem": "^3.0", - "codeception/module-phpbrowser": "*@dev", - "phpoption/phpoption": "^1.8.0", - "ramsey/collection": "^1.2.0", - "slevomat/coding-standard": "^6.2", + "codeception/module-phpbrowser": "^3.0", + "ramsey/collection": "^1.3", + "slevomat/coding-standard": "^8.8", "squizlabs/php_codesniffer": "*", - "symfony/http-foundation": "^5.3.7 || ^6.0" + "symfony/http-foundation": "^6.0" }, "type": "psalm-plugin", "extra": { @@ -15797,9 +15804,9 @@ "homepage": "https://github.com/psalm/psalm-plugin-laravel", "support": { "issues": "https://github.com/psalm/psalm-plugin-laravel/issues", - "source": "https://github.com/psalm/psalm-plugin-laravel/tree/v2.0.1" + "source": "https://github.com/psalm/psalm-plugin-laravel/tree/v2.4.0" }, - "time": "2022-06-21T18:50:45+00:00" + "time": "2023-01-23T16:54:33+00:00" }, { "name": "psy/psysh", @@ -17381,6 +17388,70 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "spatie/array-to-xml", + "version": "2.17.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "5cbec9c6ab17e320c58a259f0cebe88bde4a7c46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/5cbec9c6ab17e320c58a259f0cebe88bde4a7c46", + "reference": "5cbec9c6ab17e320c58a259f0cebe88bde4a7c46", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^7.4|^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "phpunit/phpunit": "^9.0", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], + "support": { + "source": "https://github.com/spatie/array-to-xml/tree/2.17.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-12-26T08:22:07+00:00" + }, { "name": "spatie/backtrace", "version": "1.2.1", @@ -17836,6 +17907,69 @@ ], "time": "2022-08-11T14:04:18+00:00" }, + { + "name": "symfony/filesystem", + "version": "v6.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "50b2523c874605cf3d4acf7a9e2b30b6a440a016" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/50b2523c874605cf3d4acf7a9e2b30b6a440a016", + "reference": "50b2523c874605cf3d4acf7a9e2b30b6a440a016", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-20T13:01:27+00:00" + }, { "name": "symfony/polyfill-iconv", "version": "v1.27.0", @@ -18164,24 +18298,24 @@ }, { "name": "vimeo/psalm", - "version": "4.30.0", + "version": "5.5.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69" + "reference": "b63061a27f2683ec0f3509012bb22daab3b65b61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d0bc6e25d89f649e4f36a534f330f8bb4643dd69", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/b63061a27f2683ec0f3509012bb22daab3b65b61", + "reference": "b63061a27f2683ec0f3509012bb22daab3b65b61", "shasum": "" }, "require": { "amphp/amp": "^2.4.2", "amphp/byte-stream": "^1.5", - "composer/package-versions-deprecated": "^1.8.0", + "composer/package-versions-deprecated": "^1.10.0", "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", "dnoegel/php-xdg-base-dir": "^0.1.1", "ext-ctype": "*", "ext-dom": "*", @@ -18190,35 +18324,34 @@ "ext-mbstring": "*", "ext-simplexml": "*", "ext-tokenizer": "*", - "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.5", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.0", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.13", - "openlss/lib-array2xml": "^1.0", - "php": "^7.1|^8", - "sebastian/diff": "^3.0 || ^4.0", - "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0", - "symfony/polyfill-php80": "^1.25", - "webmozart/path-util": "^2.3" + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "sebastian/diff": "^4.0 || ^5.0", + "spatie/array-to-xml": "^2.17.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0" }, "provide": { "psalm/psalm": "self.version" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "brianium/paratest": "^4.0||^6.0", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.0", "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpdocumentor/reflection-docblock": "^5", - "phpmyadmin/sql-parser": "5.1.0||dev-master", - "phpspec/prophecy": ">=1.9.0", - "phpstan/phpdoc-parser": "1.2.* || 1.6.4", - "phpunit/phpunit": "^9.0", - "psalm/plugin-phpunit": "^0.16", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3 || ^5.0 || ^6.0", - "weirdan/prophecy-shim": "^1.0 || ^2.0" + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0" }, "suggest": { "ext-curl": "In order to send data to shepherd", @@ -18234,17 +18367,14 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev", + "dev-master": "5.x-dev", + "dev-4.x": "4.x-dev", "dev-3.x": "3.x-dev", "dev-2.x": "2.x-dev", "dev-1.x": "1.x-dev" } }, "autoload": { - "files": [ - "src/functions.php", - "src/spl_object_id.php" - ], "psr-4": { "Psalm\\": "src/Psalm/" } @@ -18266,60 +18396,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.30.0" + "source": "https://github.com/vimeo/psalm/tree/5.5.0" }, - "time": "2022-11-06T20:37:08+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "support": { - "issues": "https://github.com/webmozart/path-util/issues", - "source": "https://github.com/webmozart/path-util/tree/2.3.0" - }, - "abandoned": "symfony/filesystem", - "time": "2015-12-17T08:42:14+00:00" + "time": "2023-01-23T01:50:35+00:00" }, { "name": "zbateson/mail-mime-parser", diff --git a/psalm.xml b/psalm.xml index 3ce26981b..6ed0689fd 100644 --- a/psalm.xml +++ b/psalm.xml @@ -7,12 +7,12 @@ xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" > - + + - diff --git a/tests/DuskTestCase.php b/tests/DuskTestCase.php index d300b5e1f..0a55f8c37 100644 --- a/tests/DuskTestCase.php +++ b/tests/DuskTestCase.php @@ -76,7 +76,7 @@ abstract class DuskTestCase extends BaseTestCase /** * Return the default user to authenticate. * - * @return \App\User|int|null + * @return \App\Models\User\User */ protected function user() { diff --git a/tests/Unit/Services/DavClient/UpdateSubscriptionLocalSyncTokenTest.php b/tests/Unit/Services/DavClient/UpdateSubscriptionLocalSyncTokenTest.php index 033171c47..1c31d40e2 100644 --- a/tests/Unit/Services/DavClient/UpdateSubscriptionLocalSyncTokenTest.php +++ b/tests/Unit/Services/DavClient/UpdateSubscriptionLocalSyncTokenTest.php @@ -7,6 +7,7 @@ use Mockery\MockInterface; use App\Models\User\SyncToken; use App\Models\Account\AddressBookSubscription; use Illuminate\Foundation\Testing\DatabaseTransactions; +use App\Http\Controllers\DAV\Backend\CardDAV\CardDAVBackend; use App\Services\DavClient\UpdateSubscriptionLocalSyncToken; class UpdateSubscriptionLocalSyncTokenTest extends TestCase