Fix psalm not running

The issue was that we were using psalm/phar instead of vimeo/psalm. This
caused issue with the custom psalm plugin in buildd/psalm.

This is using the opportunity to also update the psalm version from 3.8
to 3.17 and the php-cs-fixer too.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
pull/30814/head
Carl Schwan 2 years ago
parent 0c631830bb
commit d69531ac8e
No known key found for this signature in database
GPG Key ID: 06B35D38387B67BE

@ -2,13 +2,14 @@
declare(strict_types=1);
require_once './lib/composer/autoload.php';
require_once './vendor-bin/cs-fixer/vendor/autoload.php';
use Nextcloud\CodingStandard\Config;
$config = new Config();
$config
->getFinder()
->ignoreVCSIgnored(true)
->exclude('config')
->exclude('data')
->notPath('3rdparty')

@ -1753,7 +1753,7 @@ class Access extends LDAPUtility {
}
$attribute = $this->connection->getFromCache($uuidAttr);
if (!$attribute === null) {
if ($attribute !== null) {
$this->connection->$uuidAttr = $attribute;
return true;
}

@ -35,6 +35,8 @@ use OCP\UserStatus\IUserStatus;
*
* @package OCA\UserStatus\Db
*
* @psalm-suppress MoreSpecificImplementedParamType
*
* @method UserStatus insert(UserStatus $entity)
* @method UserStatus update(UserStatus $entity)
* @method UserStatus insertOrUpdate(UserStatus $entity)

@ -38,7 +38,7 @@ $expectedFiles = [
'.jshintrc',
'.mailmap',
'.npmignore',
'.php_cs.dist',
'.php-cs-fixer.dist.php',
'.scrutinizer.yml',
'.tag',
'.tx',

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.8.1@f73f2299dbc59a3e6c4d66cff4605176e728ee69">
<files psalm-version="4.18.1@dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb">
<file src="3rdparty/sabre/dav/lib/CalDAV/Calendar.php">
<MoreSpecificImplementedParamType occurrences="1">
<code>$calendarData</code>
@ -36,6 +36,11 @@
<code>array</code>
</LessSpecificImplementedReturnType>
</file>
<file src="apps/admin_audit/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/cloud_federation_api/lib/Controller/RequestHandlerController.php">
<InvalidScalarArgument occurrences="1">
<code>$e-&gt;getCode()</code>
@ -44,6 +49,12 @@
<code>!is_array($notification)</code>
</TypeDoesNotContainType>
</file>
<file src="apps/comments/lib/AppInfo/Application.php">
<InvalidArgument occurrences="2">
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/comments/lib/Search/Result.php">
<InvalidScalarArgument occurrences="1">
<code>(int) $comment-&gt;getId()</code>
@ -54,6 +65,11 @@
<code>\Sabre\Uri\split($this-&gt;principalUri)</code>
</UndefinedFunction>
</file>
<file src="apps/contactsinteraction/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/dav/appinfo/v1/caldav.php">
<TooManyArguments occurrences="1">
<code>new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud')</code>
@ -112,6 +128,36 @@
</MissingFile>
</file>
<file src="apps/dav/lib/AppInfo/Application.php">
<InvalidArgument occurrences="28">
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
<UndefinedInterfaceMethod occurrences="1">
<code>getAppDataDir</code>
</UndefinedInterfaceMethod>
@ -314,6 +360,11 @@
<code>@var VEvent $vevent</code>
</PossiblyInvalidDocblockTag>
</file>
<file src="apps/dav/lib/CalDAV/Reminder/NotificationProviderManager.php">
<UndefinedConstant occurrences="1">
<code>$provider::NOTIFICATION_TYPE</code>
</UndefinedConstant>
</file>
<file src="apps/dav/lib/CalDAV/Reminder/Notifier.php">
<FalsableReturnStatement occurrences="4">
<code>$this-&gt;l10n-&gt;l('date', $dt, ['width' =&gt; 'medium'])</code>
@ -640,9 +691,6 @@
<UndefinedFunction occurrences="1">
<code>\Sabre\Uri\split($this-&gt;path)</code>
</UndefinedFunction>
<UndefinedInterfaceMethod occurrences="1">
<code>writeStream</code>
</UndefinedInterfaceMethod>
</file>
<file src="apps/dav/lib/Connector/Sabre/FilesPlugin.php">
<UndefinedFunction occurrences="3">
@ -1014,6 +1062,9 @@
<NullArgument occurrences="1">
<code>null</code>
</NullArgument>
<RedundantFunctionCall occurrences="1">
<code>array_values</code>
</RedundantFunctionCall>
</file>
<file src="apps/dav/lib/Upload/UploadHome.php">
<UndefinedFunction occurrences="1">
@ -1031,7 +1082,12 @@
</InvalidOperand>
</file>
<file src="apps/encryption/lib/Crypto/Crypt.php">
<RedundantCondition occurrences="1">
<InvalidArgument occurrences="2">
<code>false</code>
<code>false</code>
</InvalidArgument>
<RedundantCondition occurrences="2">
<code>$userSession</code>
<code>$userSession</code>
</RedundantCondition>
<TypeDoesNotContainType occurrences="2">
@ -1067,17 +1123,24 @@
<InvalidThrow occurrences="1">
<code>throw $exception;</code>
</InvalidThrow>
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$userSession</code>
<code>$userSession</code>
</RedundantCondition>
</file>
<file src="apps/encryption/lib/Migration/SetMasterKeyStatus.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
</file>
<file src="apps/encryption/lib/Recovery.php">
<InvalidScalarArgument occurrences="3">
<code>0</code>
<code>0</code>
<code>1</code>
</InvalidScalarArgument>
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$userSession</code>
<code>$userSession</code>
</RedundantCondition>
</file>
@ -1087,10 +1150,16 @@
</TooManyArguments>
</file>
<file src="apps/encryption/lib/Util.php">
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$userSession</code>
<code>$userSession</code>
</RedundantCondition>
</file>
<file src="apps/federatedfilesharing/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/federatedfilesharing/lib/Controller/RequestHandlerController.php">
<InvalidScalarArgument occurrences="7">
<code>$id</code>
@ -1145,6 +1214,11 @@
<code>null</code>
</NullableReturnStatement>
</file>
<file src="apps/federation/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/federation/lib/TrustedServers.php">
<InvalidArgument occurrences="1">
<code>'OCP\Federation\TrustedServerEvent::remove'</code>
@ -1161,11 +1235,6 @@
<code>$files_list</code>
</InvalidArgument>
</file>
<file src="apps/files/ajax/list.php">
<TypeDoesNotContainType occurrences="1">
<code>!$dirInfo-&gt;getType() === 'dir'</code>
</TypeDoesNotContainType>
</file>
<file src="apps/files/appinfo/routes.php">
<InvalidScope occurrences="2">
<code>$this</code>
@ -1194,6 +1263,12 @@
<code>10 * 1024 * 1024</code>
</InvalidScalarArgument>
</file>
<file src="apps/files/lib/AppInfo/Application.php">
<InvalidArgument occurrences="2">
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/files/lib/Command/Scan.php">
<NullArgument occurrences="1">
<code>null</code>
@ -1283,6 +1358,12 @@
<code>$this</code>
</InvalidScope>
</file>
<file src="apps/files_external/lib/AppInfo/Application.php">
<InvalidArgument occurrences="2">
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/files_external/lib/Command/Delete.php">
<NullArgument occurrences="1">
<code>null</code>
@ -1332,6 +1413,12 @@
<code>getUniqueStorages</code>
</UndefinedMethod>
</file>
<file src="apps/files_external/lib/Lib/Auth/Password/LoginCredentials.php">
<InvalidArgument occurrences="2">
<code>addServiceListener</code>
<code>addServiceListener</code>
</InvalidArgument>
</file>
<file src="apps/files_external/lib/Lib/Backend/Backend.php">
<InvalidReturnType occurrences="1">
<code>self</code>
@ -1526,6 +1613,16 @@
<code>$_</code>
</UndefinedVariable>
</file>
<file src="apps/files_sharing/lib/AppInfo/Application.php">
<InvalidArgument occurrences="6">
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
</InvalidArgument>
</file>
<file src="apps/files_sharing/lib/Cache.php">
<FalsableReturnStatement occurrences="1">
<code>false</code>
@ -1545,11 +1642,17 @@
</UndefinedInterfaceMethod>
</file>
<file src="apps/files_sharing/lib/Controller/ShareAPIController.php">
<InvalidOperand occurrences="1">
<code>$permissions</code>
</InvalidOperand>
<InvalidScalarArgument occurrences="3">
<code>$code</code>
<code>$code</code>
<code>Constants::PERMISSION_ALL</code>
</InvalidScalarArgument>
<RedundantCondition occurrences="1">
<code>$permissions &amp; Constants::PERMISSION_READ</code>
</RedundantCondition>
<UndefinedClass occurrences="2">
<code>\OCA\Circles\Api\v1\Circles</code>
<code>\OCA\Circles\Api\v1\Circles</code>
@ -1595,9 +1698,6 @@
</InvalidDocblock>
</file>
<file src="apps/files_sharing/lib/External/Scanner.php">
<InvalidScalarArgument occurrences="1">
<code>$recursive</code>
</InvalidScalarArgument>
<MoreSpecificImplementedParamType occurrences="1">
<code>$cacheData</code>
</MoreSpecificImplementedParamType>
@ -1620,6 +1720,11 @@
<code>$exception-&gt;getMessage()</code>
</InvalidArgument>
</file>
<file src="apps/files_sharing/lib/MountProvider.php">
<RedundantFunctionCall occurrences="1">
<code>array_values</code>
</RedundantFunctionCall>
</file>
<file src="apps/files_sharing/lib/ShareBackend/File.php">
<InvalidScalarArgument occurrences="2">
<code>$itemSource</code>
@ -1732,12 +1837,13 @@
</TooManyArguments>
</file>
<file src="apps/files_trashbin/lib/Trash/LegacyTrashBackend.php">
<ParadoxicalCondition occurrences="1">
<code>null</code>
</ParadoxicalCondition>
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$trashFiles</code>
<code>$trashFiles</code>
</RedundantCondition>
<TypeDoesNotContainType occurrences="1">
<code>null</code>
</TypeDoesNotContainType>
<UndefinedInterfaceMethod occurrences="2">
<code>$file</code>
<code>getById</code>
@ -1761,6 +1867,12 @@
<code>$this</code>
</InvalidScope>
</file>
<file src="apps/files_versions/lib/AppInfo/Application.php">
<InvalidArgument occurrences="2">
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/files_versions/lib/Sabre/RestoreFolder.php">
<InvalidNullableReturnType occurrences="1">
<code>getChild</code>
@ -1804,6 +1916,11 @@
<file src="apps/oauth2/lib/Db/ClientMapper.php">
<InvalidCatch occurrences="2"/>
</file>
<file src="apps/provisioning_api/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/provisioning_api/lib/Controller/UsersController.php">
<InvalidScalarArgument occurrences="1">
<code>$quota</code>
@ -1814,6 +1931,11 @@
</TypeDoesNotContainNull>
</file>
<file src="apps/settings/lib/AppInfo/Application.php">
<InvalidArgument occurrences="3">
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
<InvalidScalarArgument occurrences="1">
<code>\OC_User::getUser()</code>
</InvalidScalarArgument>
@ -1855,6 +1977,11 @@
<code>isReady</code>
</UndefinedInterfaceMethod>
</file>
<file src="apps/settings/lib/Settings/Admin/Server.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
</file>
<file src="apps/settings/lib/Settings/Admin/Sharing.php">
<InvalidScalarArgument occurrences="1">
<code>Constants::PERMISSION_ALL</code>
@ -1868,11 +1995,14 @@
<code>$uid</code>
</InvalidScalarArgument>
</file>
<file src="apps/settings/lib/SetupChecks/CheckUserCertificates.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
</file>
<file src="apps/sharebymail/lib/ShareByMailProvider.php">
<InvalidScalarArgument occurrences="4">
<InvalidScalarArgument occurrences="2">
<code>$share-&gt;getId()</code>
<code>$shareId</code>
<code>$shareId</code>
<code>(int)$data['id']</code>
</InvalidScalarArgument>
</file>
@ -1891,6 +2021,11 @@
<code>$type</code>
</InvalidScalarArgument>
</file>
<file src="apps/theming/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/theming/lib/Controller/IconController.php">
<InvalidReturnStatement occurrences="1">
<code>$response</code>
@ -1931,6 +2066,14 @@
<code>$folder !== null</code>
</RedundantCondition>
</file>
<file src="apps/twofactor_backupcodes/lib/AppInfo/Application.php">
<InvalidArgument occurrences="4">
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php">
<InvalidArgument occurrences="1">
<code>bool</code>
@ -1948,6 +2091,9 @@
</InvalidScalarArgument>
</file>
<file src="apps/updatenotification/lib/Notification/BackgroundJob.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
<InvalidPropertyAssignmentValue occurrences="1">
<code>$this-&gt;users</code>
</InvalidPropertyAssignmentValue>
@ -1992,9 +2138,6 @@
<InvalidArgument occurrences="1">
<code>$record</code>
</InvalidArgument>
<InvalidArrayOffset occurrences="1">
<code>[$attr =&gt; $result['values']]</code>
</InvalidArrayOffset>
<InvalidReturnStatement occurrences="2">
<code>$uuid</code>
<code>$values</code>
@ -2015,8 +2158,7 @@
<code>$limit === 0</code>
<code>is_array($result)</code>
</RedundantCondition>
<TypeDoesNotContainNull occurrences="2">
<code>!$attribute === null</code>
<TypeDoesNotContainNull occurrences="1">
<code>is_null($findings)</code>
</TypeDoesNotContainNull>
<TypeDoesNotContainType occurrences="2">
@ -2274,12 +2416,19 @@
</TypeDoesNotContainType>
</file>
<file src="apps/user_status/lib/AppInfo/Application.php">
<InvalidArgument occurrences="3">
<code>registerEventListener</code>
<code>registerEventListener</code>
<code>registerEventListener</code>
</InvalidArgument>
<UndefinedInterfaceMethod occurrences="1">
<code>registerProvider</code>
</UndefinedInterfaceMethod>
</file>
<file src="apps/user_status/lib/Db/UserStatusMapper.php">
<MoreSpecificImplementedParamType occurrences="1"/>
<file src="apps/workflowengine/lib/AppInfo/Application.php">
<InvalidArgument occurrences="1">
<code>registerEventListener</code>
</InvalidArgument>
</file>
<file src="apps/workflowengine/lib/Check/AbstractStringCheck.php">
<NullArgument occurrences="1">
@ -2375,6 +2524,19 @@
<code>isUserScopeEnabled</code>
</UndefinedInterfaceMethod>
</file>
<file src="core/Application.php">
<InvalidArgument occurrences="9">
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
</InvalidArgument>
</file>
<file src="core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php">
<ParamNameMismatch occurrences="1">
<code>$arguments</code>
@ -2394,9 +2556,6 @@
<ImplementedReturnTypeMismatch occurrences="1">
<code>null|int</code>
</ImplementedReturnTypeMismatch>
<InvalidReturnType occurrences="1">
<code>null|int</code>
</InvalidReturnType>
<MismatchingDocblockReturnType occurrences="1">
<code>null|int</code>
</MismatchingDocblockReturnType>
@ -2415,9 +2574,6 @@
<ImplementedReturnTypeMismatch occurrences="1">
<code>null|int</code>
</ImplementedReturnTypeMismatch>
<InvalidReturnType occurrences="1">
<code>null|int</code>
</InvalidReturnType>
<MismatchingDocblockReturnType occurrences="1">
<code>null|int</code>
</MismatchingDocblockReturnType>
@ -2440,9 +2596,6 @@
<ImplementedReturnTypeMismatch occurrences="1">
<code>null|int</code>
</ImplementedReturnTypeMismatch>
<InvalidReturnType occurrences="1">
<code>null|int</code>
</InvalidReturnType>
<MismatchingDocblockReturnType occurrences="1">
<code>null|int</code>
</MismatchingDocblockReturnType>
@ -2602,13 +2755,19 @@
<code>$this</code>
</InvalidScope>
</file>
<file src="core/templates/layout.guest.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
</file>
<file src="core/templates/layout.public.php">
<UndefinedInterfaceMethod occurrences="1">
<code>getIcon</code>
</UndefinedInterfaceMethod>
</file>
<file src="lib/autoloader.php">
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$this-&gt;memoryCache</code>
<code>$this-&gt;memoryCache</code>
</RedundantCondition>
</file>
@ -2617,8 +2776,10 @@
<code>getAppsNeedingUpgrade</code>
<code>getIncompatibleApps</code>
</InternalMethod>
<InvalidArgument occurrences="1">
<InvalidArgument occurrences="3">
<code>$restrictions</code>
<code>addServiceListener</code>
<code>addServiceListener</code>
</InvalidArgument>
<RedundantCondition occurrences="1">
<code>((array)$request-&gt;getParam('appid')) !== ''</code>
@ -3042,14 +3203,6 @@
<code>bool|mixed</code>
</LessSpecificImplementedReturnType>
</file>
<file src="lib/private/Collaboration/Resources/Manager.php">
<RedundantCondition occurrences="1">
<code>$user instanceof IUser</code>
</RedundantCondition>
<TypeDoesNotContainType occurrences="1">
<code>''</code>
</TypeDoesNotContainType>
</file>
<file src="lib/private/Command/CallableJob.php">
<ParamNameMismatch occurrences="1">
<code>$serializedCallable</code>
@ -3474,7 +3627,8 @@
<NullableReturnStatement occurrences="1">
<code>null</code>
</NullableReturnStatement>
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$userObject</code>
<code>$userObject</code>
</RedundantCondition>
<TooManyArguments occurrences="1">
@ -3660,6 +3814,9 @@
</MoreSpecificImplementedParamType>
</file>
<file src="lib/private/Files/ObjectStore/ObjectStoreStorage.php">
<InvalidScalarArgument occurrences="1">
<code>$source</code>
</InvalidScalarArgument>
<ParamNameMismatch occurrences="2">
<code>$source</code>
<code>$target</code>
@ -3873,6 +4030,11 @@
</InvalidReturnType>
</file>
<file src="lib/private/Files/Storage/Wrapper/Encoding.php">
<InvalidScalarArgument occurrences="3">
<code>\Normalizer::FORM_C</code>
<code>\Normalizer::FORM_C</code>
<code>\Normalizer::FORM_D</code>
</InvalidScalarArgument>
<UndefinedInterfaceMethod occurrences="13">
<code>$this-&gt;namesCache</code>
<code>$this-&gt;namesCache</code>
@ -3893,10 +4055,6 @@
<FalsableReturnStatement occurrences="1">
<code>false</code>
</FalsableReturnStatement>
<InvalidArgument occurrences="2">
<code>$source</code>
<code>$target</code>
</InvalidArgument>
<InvalidOperand occurrences="3">
<code>$result</code>
<code>$result</code>
@ -3967,6 +4125,11 @@
<code>stream_flush</code>
</InvalidReturnType>
</file>
<file src="lib/private/Files/Template/TemplateManager.php">
<RedundantCondition occurrences="1">
<code>!$isDefaultTemplates</code>
</RedundantCondition>
</file>
<file src="lib/private/Files/Type/Detection.php">
<ParamNameMismatch occurrences="1">
<code>$mimetype</code>
@ -4016,9 +4179,13 @@
<code>null</code>
<code>null</code>
</NullableReturnStatement>
<RedundantCondition occurrences="3">
<RedundantCondition occurrences="7">
<code>$data</code>
<code>$data</code>
<code>$result</code>
<code>$result &amp;&amp; in_array('delete', $hooks) and $result</code>
<code>Constants::PERMISSION_READ</code>
<code>Constants::PERMISSION_READ</code>
<code>is_resource($source)</code>
</RedundantCondition>
<UndefinedDocblockClass occurrences="2">
@ -4057,7 +4224,10 @@
<MoreSpecificImplementedParamType occurrences="1">
<code>$user</code>
</MoreSpecificImplementedParamType>
<RedundantCondition occurrences="3">
<RedundantCondition occurrences="6">
<code>$this-&gt;emitter</code>
<code>$this-&gt;emitter</code>
<code>$this-&gt;emitter</code>
<code>$this-&gt;emitter</code>
<code>$this-&gt;emitter</code>
<code>$this-&gt;emitter</code>
@ -4100,6 +4270,10 @@
<FalsableReturnStatement occurrences="1">
<code>false</code>
</FalsableReturnStatement>
<InvalidArgument occurrences="2">
<code>false</code>
<code>false</code>
</InvalidArgument>
<InvalidArrayOffset occurrences="2">
<code>$app['path']</code>
<code>$app['path']</code>
@ -4107,7 +4281,8 @@
<NullArgument occurrences="1">
<code>null</code>
</NullArgument>
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$archive</code>
<code>$archive</code>
</RedundantCondition>
</file>
@ -4181,7 +4356,8 @@
</InvalidPropertyAssignmentValue>
</file>
<file src="lib/private/Log.php">
<RedundantCondition occurrences="1">
<RedundantCondition occurrences="2">
<code>$request</code>
<code>$request</code>
</RedundantCondition>
</file>
@ -4233,9 +4409,9 @@
</LessSpecificImplementedReturnType>
</file>
<file src="lib/private/Memcache/Memcached.php">
<RedundantCondition occurrences="1">
<code>method_exists(self::$cache, 'deleteMulti')</code>
</RedundantCondition>
<TypeDoesNotContainType occurrences="1">
<code>\Memcached::HAVE_IGBINARY</code>
</TypeDoesNotContainType>
</file>
<file src="lib/private/Memcache/Redis.php">
<InvalidMethodCall occurrences="2">
@ -4255,10 +4431,6 @@
</file>
<file src="lib/private/Notification/Manager.php">
<InvalidCatch occurrences="3"/>
<TypeDoesNotContainType occurrences="2">
<code>!($notification instanceof INotification)</code>
<code>!($notification instanceof INotification)</code>
</TypeDoesNotContainType>
</file>
<file src="lib/private/Preview/BackgroundCleanupJob.php">
<InvalidReturnStatement occurrences="1">
@ -4358,6 +4530,11 @@
<code>dispatch</code>
</TooManyArguments>
</file>
<file src="lib/private/Repair/Owncloud/CleanPreviews.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
</file>
<file src="lib/private/Repair/Owncloud/CleanPreviewsBackgroundJob.php">
<ParamNameMismatch occurrences="1">
<code>$arguments</code>
@ -4367,6 +4544,9 @@
<ParamNameMismatch occurrences="1">
<code>$arguments</code>
</ParamNameMismatch>
<TypeDoesNotContainType occurrences="1">
<code>$counter % 100 === 0</code>
</TypeDoesNotContainType>
</file>
<file src="lib/private/Repair/RemoveLinkShares.php">
<ImplicitToStringCast occurrences="2">
@ -4706,6 +4886,9 @@
</NullArgument>
</file>
<file src="lib/private/Template/JSResourceLocator.php">
<InvalidArgument occurrences="1">
<code>false</code>
</InvalidArgument>
<InvalidOperand occurrences="6">
<code>$this-&gt;appendIfExist($this-&gt;serverroot, $script.'.js')</code>
<code>$this-&gt;appendIfExist($this-&gt;serverroot, $theme_dir.$script.'.js')</code>
@ -4776,6 +4959,9 @@
<ImplementedReturnTypeMismatch occurrences="1">
<code>array|int</code>
</ImplementedReturnTypeMismatch>
<InvalidArgument occurrences="1">
<code>$callback</code>
</InvalidArgument>
<InvalidNullableReturnType occurrences="1">
<code>bool|IUser</code>
</InvalidNullableReturnType>
@ -4942,16 +5128,8 @@
<RedundantCondition occurrences="1">
<code>count($obd_values) &gt; 0</code>
</RedundantCondition>
<UndefinedInterfaceMethod occurrences="1">
<code>getSourceStorage</code>
</UndefinedInterfaceMethod>
</file>
<file src="lib/private/legacy/OC_Image.php">
<FalsableReturnStatement occurrences="3">
<code>$this-&gt;resource</code>
<code>$this-&gt;valid() ? imagesx($this-&gt;resource) : -1</code>
<code>$this-&gt;valid() ? imagesy($this-&gt;resource) : -1</code>
</FalsableReturnStatement>
<ImplementedReturnTypeMismatch occurrences="1">
<code>null|string</code>
</ImplementedReturnTypeMismatch>
@ -4959,9 +5137,6 @@
<code>$data[floor($p)]</code>
<code>$data[floor($p)]</code>
</InvalidArrayOffset>
<InvalidPropertyAssignmentValue occurrences="1">
<code>$resource</code>
</InvalidPropertyAssignmentValue>
<InvalidScalarArgument occurrences="4">
<code>$this-&gt;bitDepth</code>
<code>$x</code>
@ -4987,9 +5162,6 @@
<code>\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($prevLogging)</code>
<code>\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false)</code>
</InternalMethod>
<InvalidLiteralArgument occurrences="1">
<code>\OCP\Constants::FILENAME_INVALID_CHARS</code>
</InvalidLiteralArgument>
<InvalidReturnStatement occurrences="1">
<code>OC_Helper::computerFileSize($userQuota)</code>
</InvalidReturnStatement>
@ -5000,8 +5172,7 @@
<code>$user</code>
<code>OC_User::getUser()</code>
</InvalidScalarArgument>
<RedundantCondition occurrences="2">
<code>'off'</code>
<RedundantCondition occurrences="1">
<code>is_string($expected)</code>
</RedundantCondition>
<TypeDoesNotContainType occurrences="3">

@ -1,5 +1,11 @@
<?php
/**
* @strict-properties
* @not-serializable
*/
final class GdImage {}
/**
* Retrieve information about the currently installed GD library
* @link https://php.net/manual/en/function.gd-info.php

@ -42,7 +42,7 @@
"cs:fix": "php-cs-fixer fix",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"lint": "find . -name \\*.php -not -path './lib/composer/*' -not -path './build/stubs/*' -print0 | xargs -0 -n1 php -l",
"psalm": "psalm",
"psalm:update-baseline": "psalm --update-baseline --set-baseline=build/psalm-baseline.xml"
"psalm": "psalm --threads=1",
"psalm:update-baseline": "psalm --threads=1 --update-baseline --set-baseline=build/psalm-baseline.xml"
}
}

@ -247,8 +247,7 @@ class Upgrade extends Command {
$output->write('<comment>Maybe an upgrade is already in process. Please check the '
. 'logfile (data/nextcloud.log). If you want to re-run the '
. 'upgrade procedure, remove the "maintenance mode" from '
. 'config.php and call this script again.</comment>'
, true);
. 'config.php and call this script again.</comment>', true);
return self::ERROR_MAINTENANCE_MODE;
} else {
$output->writeln('<info>Nextcloud is already latest version</info>');

@ -20,12 +20,25 @@ use Composer\Semver\VersionParser;
*
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
* To require it's presence, you can require `composer-runtime-api ^2.0`
* To require its presence, you can require `composer-runtime-api ^2.0`
*/
class InstalledVersions
{
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
*/
private static $installed;
/**
* @var bool|null
*/
private static $canGetVendors;
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
*/
private static $installedByVendor = array();
/**
@ -228,7 +241,7 @@ class InstalledVersions
/**
* @return array
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
*/
public static function getRootPackage()
{
@ -242,7 +255,7 @@ class InstalledVersions
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
*/
public static function getRawData()
{
@ -265,7 +278,7 @@ class InstalledVersions
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
*/
public static function getAllRawData()
{
@ -288,7 +301,7 @@ class InstalledVersions
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
*/
public static function reload($data)
{
@ -298,7 +311,7 @@ class InstalledVersions
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
*/
private static function getInstalled()
{

@ -5,7 +5,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../../',
'aliases' => array(),
'reference' => '66144c300395458ff38b86e50cd92174443cd85e',
'reference' => '63a9bc2aacf829563ac74abe29d4edf6ff31b8b1',
'name' => '__root__',
'dev' => false,
),
@ -16,7 +16,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../../',
'aliases' => array(),
'reference' => '66144c300395458ff38b86e50cd92174443cd85e',
'reference' => '63a9bc2aacf829563ac74abe29d4edf6ff31b8b1',
'dev_requirement' => false,
),
),

@ -93,7 +93,7 @@ class Manager implements IManager {
*/
public function getCollectionForUser(int $id, ?IUser $user): ICollection {
$query = $this->connection->getQueryBuilder();
$userId = $user instanceof IUser ? $user->getUID() : '';
$userId = $user !== null ? $user->getUID() : '';
$query->select('*')
->from(self::TABLE_COLLECTIONS, 'c')
@ -114,7 +114,7 @@ class Manager implements IManager {
}
$access = $row['access'] === null ? null : (bool) $row['access'];
if ($user instanceof IUser) {
if ($user !== null) {
return new Collection($this, $this->connection, (int) $row['id'], (string) $row['name'], $user, $access);
}
@ -131,7 +131,7 @@ class Manager implements IManager {
*/
public function searchCollections(IUser $user, string $filter, int $limit = 50, int $start = 0): array {
$query = $this->connection->getQueryBuilder();
$userId = $user instanceof IUser ? $user->getUID() : '';
$userId = $user->getUID();
$query->select('c.*', 'a.access')
->from(self::TABLE_COLLECTIONS, 'c')

@ -66,6 +66,7 @@ class Memcached extends Cache implements IMemcache {
//\Memcached::OPT_BINARY_PROTOCOL => true,
];
// by default enable igbinary serializer if available
/** @psalm-suppress RedundantCondition */
if (\Memcached::HAVE_IGBINARY) {
$defaultOptions[\Memcached::OPT_SERIALIZER] =
\Memcached::SERIALIZER_IGBINARY;

@ -381,12 +381,12 @@ class Manager implements IManager {
throw new \InvalidArgumentException('The given notification has been processed');
}
if (!($notification instanceof INotification) || !$notification->isValidParsed()) {
if (!$notification->isValidParsed()) {
throw new \InvalidArgumentException('The given notification has not been handled');
}
}
if (!($notification instanceof INotification) || !$notification->isValidParsed()) {
if (!$notification->isValidParsed()) {
throw new \InvalidArgumentException('The given notification has not been handled');
}

@ -850,6 +850,7 @@ class OC_Util {
],
];
$missingDependencies = [];
/** @var array<array-key, bool|string|int> $invalidIniSettings */
$invalidIniSettings = [];
$iniWrapper = \OC::$server->get(IniGetWrapper::class);
@ -895,7 +896,7 @@ class OC_Util {
}
foreach ($invalidIniSettings as $setting) {
if (is_bool($setting[1])) {
$setting[1] = $setting[1] ? 'on' : 'off';
$setting[1] = $setting[1] === true ? 'on' : 'off';
}
$errors[] = [
'error' => $l->t('PHP setting "%s" is not set to "%s".', [$setting[0], var_export($setting[1], true)]),

@ -16,6 +16,10 @@
<directory name="lib/composer/bin"/>
</ignoreFiles>
</projectFiles>
<stubs>
<file name="build/stubs/gd.php"/>
<file name="build/stubs/ldap.php"/>
</stubs>
<extraFiles>
<directory name="3rdparty"/>
</extraFiles>

@ -122,8 +122,7 @@ class ExpressionBuilderDBTest extends TestCase {
$query->createFunction(
'(' . $query->expr()->castColumn('configvalue', IQueryBuilder::PARAM_INT)
. ' + 1)'
)
, IQueryBuilder::PARAM_STR
), IQueryBuilder::PARAM_STR
)
)
->where($query->expr()->eq('appid', $query->createNamedParameter($appId)))

@ -399,23 +399,17 @@ class CacheTest extends \Test\TestCase {
$user = $this->createMock(IUser::class);
$this->assertCount(1, $this->cache->searchQuery(new SearchQuery(
new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'name', 'foo')
, 10, 0, [], $user)));
new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'name', 'foo'), 10, 0, [], $user)));
$this->assertCount(2, $this->cache->searchQuery(new SearchQuery(
new SearchComparison(ISearchComparison::COMPARE_LIKE, 'name', 'foo%')
, 10, 0, [], $user)));
new SearchComparison(ISearchComparison::COMPARE_LIKE, 'name', 'foo%'), 10, 0, [], $user)));
$this->assertCount(2, $this->cache->searchQuery(new SearchQuery(
new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'mimetype', 'foo/file')
, 10, 0, [], $user)));
new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'mimetype', 'foo/file'), 10, 0, [], $user)));
$this->assertCount(3, $this->cache->searchQuery(new SearchQuery(
new SearchComparison(ISearchComparison::COMPARE_LIKE, 'mimetype', 'foo/%')
, 10, 0, [], $user)));
new SearchComparison(ISearchComparison::COMPARE_LIKE, 'mimetype', 'foo/%'), 10, 0, [], $user)));
$this->assertCount(1, $this->cache->searchQuery(new SearchQuery(
new SearchComparison(ISearchComparison::COMPARE_GREATER_THAN, 'size', 100)
, 10, 0, [], $user)));
new SearchComparison(ISearchComparison::COMPARE_GREATER_THAN, 'size', 100), 10, 0, [], $user)));
$this->assertCount(2, $this->cache->searchQuery(new SearchQuery(
new SearchComparison(ISearchComparison::COMPARE_GREATER_THAN_EQUAL, 'size', 100)
, 10, 0, [], $user)));
new SearchComparison(ISearchComparison::COMPARE_GREATER_THAN_EQUAL, 'size', 100), 10, 0, [], $user)));
}
public function movePathProvider() {

@ -5,7 +5,7 @@
}
},
"require": {
"friendsofphp/php-cs-fixer": "2.19.1",
"nextcloud/coding-standard": "^0.5.0"
"friendsofphp/php-cs-fixer": "^3.4.0",
"nextcloud/coding-standard": "^1.0.0"
}
}

File diff suppressed because it is too large Load Diff

@ -1,10 +1,14 @@
{
"require": {
"nikic/php-parser": "^4.13",
"vimeo/psalm": "^4.18"
},
"config": {
"platform": {
"php": "7.3"
}
},
"require": {
"vimeo/psalm": "4.8.1"
"allow-plugins": {
"composer/package-versions-deprecated": true
}
}
}

@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ba2a70c923aa539b8f49b4b9a10686d9",
"content-hash": "8c1db89f0386cda7edd3142ab403e892",
"packages": [
{
"name": "amphp/amp",
"version": "v2.6.0",
"version": "v2.6.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
"reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc"
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/amp/zipball/caa95edeb1ca1bf7532e9118ede4a3c3126408cc",
"reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc",
"url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"shasum": ""
},
"require": {
@ -85,7 +85,7 @@
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/amp/issues",
"source": "https://github.com/amphp/amp/tree/v2.6.0"
"source": "https://github.com/amphp/amp/tree/v2.6.1"
},
"funding": [
{
@ -93,7 +93,7 @@
"type": "github"
}
],
"time": "2021-07-16T20:06:06+00:00"
"time": "2021-09-23T18:43:08+00:00"
},
{
"name": "amphp/byte-stream",
@ -174,16 +174,16 @@
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.2",
"version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c"
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c6522afe5540d5fc46675043d3ed5a45a740b27c",
"reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
@ -227,7 +227,7 @@
"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.2"
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
@ -243,20 +243,91 @@
"type": "tidelift"
}
],
"time": "2021-05-24T07:46:03+00:00"
"time": "2022-01-17T14:14:24+00:00"
},
{
"name": "composer/pcre",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
"reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/pcre/zipball/67a32d7d6f9f560b726ab25a061b38ff3a80c560",
"reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^1.3",
"phpstan/phpstan-strict-rules": "^1.1",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\Pcre\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be"
}
],
"description": "PCRE wrapping library that offers type-safe preg_* replacements.",
"keywords": [
"PCRE",
"preg",
"regex",
"regular expression"
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
"source": "https://github.com/composer/pcre/tree/1.0.1"
},
"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": "2022-01-21T20:24:37+00:00"
},
{
"name": "composer/semver",
"version": "3.2.5",
"version": "3.2.7",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9"
"reference": "deac27056b57e46faf136fae7b449eeaa71661ee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9",
"url": "https://api.github.com/repos/composer/semver/zipball/deac27056b57e46faf136fae7b449eeaa71661ee",
"reference": "deac27056b57e46faf136fae7b449eeaa71661ee",
"shasum": ""
},
"require": {
@ -308,7 +379,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5"
"source": "https://github.com/composer/semver/tree/3.2.7"
},
"funding": [
{
@ -324,29 +395,31 @@
"type": "tidelift"
}
],
"time": "2021-05-24T12:41:47+00:00"
"time": "2022-01-04T09:57:54+00:00"
},
{
"name": "composer/xdebug-handler",
"version": "2.0.2",
"version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
"reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339"
"reference": "12f1b79476638a5615ed00ea6adbb269cec96fd8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339",
"reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/12f1b79476638a5615ed00ea6adbb269cec96fd8",
"reference": "12f1b79476638a5615ed00ea6adbb269cec96fd8",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0",
"composer/pcre": "^1",
"php": "^7.2.5 || ^8.0",
"psr/log": "^1 || ^2 || ^3"
},
"require-dev": {
"phpstan/phpstan": "^0.12.55",
"symfony/phpunit-bridge": "^4.2 || ^5"
"phpstan/phpstan": "^1.0",
"phpstan/phpstan-strict-rules": "^1.1",
"symfony/phpunit-bridge": "^6.0"
},
"type": "library",
"autoload": {
@ -372,7 +445,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/xdebug-handler/issues",
"source": "https://github.com/composer/xdebug-handler/tree/2.0.2"
"source": "https://github.com/composer/xdebug-handler/tree/3.0.1"
},
"funding": [
{
@ -388,7 +461,7 @@
"type": "tidelift"
}
],
"time": "2021-07-31T17:03:58+00:00"
"time": "2022-01-04T18:29:42+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
@ -581,16 +654,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.12.0",
"version": "v4.13.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "6608f01670c3cc5079e18c1dab1104e002579143"
"reference": "210577fe3cf7badcc5814d99455df46564f3c077"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143",
"reference": "6608f01670c3cc5079e18c1dab1104e002579143",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077",
"reference": "210577fe3cf7badcc5814d99455df46564f3c077",
"shasum": ""
},
"require": {
@ -631,9 +704,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2"
},
"time": "2021-07-21T10:44:31+00:00"
"time": "2021-11-30T19:35:32+00:00"
},
{
"name": "openlss/lib-array2xml",
@ -743,16 +816,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.2.2",
"version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": ""
},
"require": {
@ -763,7 +836,8 @@
"webmozart/assert": "^1.9.1"
},
"require-dev": {
"mockery/mockery": "~1.3.2"
"mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@ -793,22 +867,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
},
"time": "2020-09-03T19:13:55+00:00"
"time": "2021-10-19T17:43:47+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.4.0",
"version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
"reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/93ebd0014cab80c4ea9f5e297ea48672f1b87706",
"reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706",
"shasum": ""
},
"require": {
@ -816,7 +890,8 @@
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*"
"ext-tokenizer": "*",
"psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@ -842,9 +917,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.0"
},
"time": "2020-09-17T18:55:26+00:00"
"time": "2022-01-04T19:58:01+00:00"
},
{
"name": "psr/container",
@ -1012,26 +1087,26 @@
},
{
"name": "symfony/console",
"version": "v5.3.6",
"version": "v5.4.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2"
"reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2",
"reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2",
"url": "https://api.github.com/repos/symfony/console/zipball/a2c6b7ced2eb7799a35375fb9022519282b5405e",
"reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
"symfony/polyfill-php73": "^1.9",
"symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/string": "^5.1"
"symfony/service-contracts": "^1.1|^2|^3",
"symfony/string": "^5.1|^6.0"
},
"conflict": {
"psr/log": ">=3",
@ -1046,12 +1121,12 @@
},
"require-dev": {
"psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/event-dispatcher": "^4.4|^5.0",
"symfony/lock": "^4.4|^5.0",
"symfony/process": "^4.4|^5.0",
"symfony/var-dumper": "^4.4|^5.0"
"symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/event-dispatcher": "^4.4|^5.0|^6.0",
"symfony/lock": "^4.4|^5.0|^6.0",
"symfony/process": "^4.4|^5.0|^6.0",
"symfony/var-dumper": "^4.4|^5.0|^6.0"
},
"suggest": {
"psr/log": "For using the console logger",
@ -1091,7 +1166,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.3.6"
"source": "https://github.com/symfony/console/tree/v5.4.2"
},
"funding": [
{
@ -1107,20 +1182,20 @@
"type": "tidelift"
}
],
"time": "2021-07-27T19:10:22+00:00"
"time": "2021-12-20T16:11:12+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.4.0",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
"shasum": ""
},
"require": {
@ -1129,7 +1204,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.4-dev"
"dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -1158,7 +1233,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
},
"funding": [
{
@ -1174,25 +1249,28 @@
"type": "tidelift"
}
],
"time": "2021-03-23T23:28:01+00:00"
"time": "2021-07-12T14:48:14+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.23.0",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
"reference": "30885182c981ab175d4d034db0f6f469898070ab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
"reference": "30885182c981ab175d4d034db0f6f469898070ab",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
@ -1237,7 +1315,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0"
},
"funding": [
{
@ -1253,20 +1331,20 @@
"type": "tidelift"
}
],
"time": "2021-02-19T12:13:01+00:00"
"time": "2021-10-20T20:35:02+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.23.1",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
"reference": "81b86b50cf841a64252b439e738e97f4a34e2783"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783",
"reference": "81b86b50cf841a64252b439e738e97f4a34e2783",
"shasum": ""
},
"require": {
@ -1318,7 +1396,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0"
},
"funding": [
{
@ -1334,11 +1412,11 @@
"type": "tidelift"
}
],
"time": "2021-05-27T12:26:48+00:00"
"time": "2021-11-23T21:10:46+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.23.0",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@ -1402,7 +1480,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0"
},
"funding": [
{
@ -1422,21 +1500,24 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.23.1",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
"reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
"reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
@ -1482,7 +1563,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0"
},
"funding": [
{
@ -1498,20 +1579,20 @@
"type": "tidelift"
}
],
"time": "2021-05-27T12:26:48+00:00"
"time": "2021-11-30T18:21:41+00:00"
},
{
"name": "symfony/polyfill-php73",
"version": "v1.23.0",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
"reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5",
"reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5",
"shasum": ""
},
"require": {
@ -1561,7 +1642,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
"source": "https://github.com/symfony/polyfill-php73/tree/v1.24.0"
},
"funding": [
{
@ -1577,20 +1658,20 @@
"type": "tidelift"
}
],
"time": "2021-02-19T12:13:01+00:00"
"time": "2021-06-05T21:20:04+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.23.1",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
"reference": "57b712b08eddb97c762a8caa32c84e037892d2e9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9",
"reference": "57b712b08eddb97c762a8caa32c84e037892d2e9",
"shasum": ""
},
"require": {
@ -1644,7 +1725,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0"
},
"funding": [
{
@ -1660,25 +1741,29 @@
"type": "tidelift"
}
],
"time": "2021-07-28T13:41:28+00:00"
"time": "2021-09-13T13:58:33+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v2.4.0",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
"reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
"reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/container": "^1.1"
"psr/container": "^1.1",
"symfony/deprecation-contracts": "^2.1"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
"suggest": {
"symfony/service-implementation": ""
@ -1686,7 +1771,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.4-dev"
"dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -1723,7 +1808,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
"source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
},
"funding": [
{
@ -1739,20 +1824,20 @@
"type": "tidelift"
}
],
"time": "2021-04-01T10:43:52+00:00"
"time": "2021-11-04T16:48:04+00:00"
},
{
"name": "symfony/string",
"version": "v5.3.3",
"version": "v5.4.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1"
"reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1",
"reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1",
"url": "https://api.github.com/repos/symfony/string/zipball/e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d",
"reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d",
"shasum": ""
},
"require": {
@ -1763,11 +1848,14 @@
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "~1.15"
},
"conflict": {
"symfony/translation-contracts": ">=3.0"
},
"require-dev": {
"symfony/error-handler": "^4.4|^5.0",
"symfony/http-client": "^4.4|^5.0",
"symfony/error-handler": "^4.4|^5.0|^6.0",
"symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/translation-contracts": "^1.1|^2",
"symfony/var-exporter": "^4.4|^5.0"
"symfony/var-exporter": "^4.4|^5.0|^6.0"
},
"type": "library",
"autoload": {
@ -1806,7 +1894,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v5.3.3"
"source": "https://github.com/symfony/string/tree/v5.4.2"
},
"funding": [
{
@ -1822,20 +1910,20 @@
"type": "tidelift"
}
],
"time": "2021-06-27T11:44:38+00:00"
"time": "2021-12-16T21:52:00+00:00"
},
{
"name": "vimeo/psalm",
"version": "4.8.1",
"version": "4.18.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "f73f2299dbc59a3e6c4d66cff4605176e728ee69"
"reference": "dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/f73f2299dbc59a3e6c4d66cff4605176e728ee69",
"reference": "f73f2299dbc59a3e6c4d66cff4605176e728ee69",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb",
"reference": "dda05fa913f4dc6eb3386f2f7ce5a45d37a71bcb",
"shasum": ""
},
"require": {
@ -1843,8 +1931,9 @@
"amphp/byte-stream": "^1.5",
"composer/package-versions-deprecated": "^1.8.0",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^1.1 || ^2.0",
"composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
"ext-ctype": "*",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@ -1854,11 +1943,11 @@
"felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.5",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.10.5",
"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",
"symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0",
"webmozart/path-util": "^2.3"
},
"provide": {
@ -1876,12 +1965,12 @@
"psalm/plugin-phpunit": "^0.16",
"slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
"symfony/process": "^4.3 || ^5.0",
"weirdan/phpunit-appveyor-reporter": "^1.0.0",
"symfony/process": "^4.3 || ^5.0 || ^6.0",
"weirdan/prophecy-shim": "^1.0 || ^2.0"
},
"suggest": {
"ext-igbinary": "^2.0.5"
"ext-curl": "In order to send data to shepherd",
"ext-igbinary": "^2.0.5 is required, used to serialize caching data"
},
"bin": [
"psalm",
@ -1925,9 +2014,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/4.8.1"
"source": "https://github.com/vimeo/psalm/tree/4.18.1"
},
"time": "2021-06-20T23:03:20+00:00"
"time": "2022-01-08T21:21:26+00:00"
},
{
"name": "webmozart/assert",
@ -2035,6 +2124,7 @@
"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"
}
],
@ -2049,5 +2139,5 @@
"platform-overrides": {
"php": "7.3"
},
"plugin-api-version": "2.1.0"
"plugin-api-version": "2.2.0"
}

Loading…
Cancel
Save