Sylius/psalm.xml

255 lines
15 KiB
XML

<?xml version="1.0"?>
<psalm
errorLevel="2"
reportMixedIssues="false"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>
<projectFiles>
<directory name="src" />
<ignoreFiles>
<file name="src/Sylius/Bundle/CoreBundle/Application/Kernel.php" />
<file name="src/Sylius/Bundle/ApiBundle/ApiPlatform/Bridge/Symfony/Bundle/Action/SwaggerUiAction.php" />
<directory name="src/Sylius/Behat" />
<directory name="src/Sylius/Bundle/AddressingBundle/spec" />
<directory name="src/Sylius/Bundle/AddressingBundle/test" />
<directory name="src/Sylius/Bundle/AddressingBundle/Tests" />
<directory name="src/Sylius/Bundle/ApiBundle/spec" />
<directory name="src/Sylius/Bundle/ApiBundle/Tests" />
<directory name="src/Sylius/Bundle/ApiBundle/test" />
<directory name="src/Sylius/Bundle/AdminBundle/spec" />
<directory name="src/Sylius/Bundle/AdminBundle/Tests" />
<directory name="src/Sylius/Bundle/AttributeBundle/spec" />
<directory name="src/Sylius/Bundle/AttributeBundle/test" />
<directory name="src/Sylius/Bundle/ChannelBundle/spec" />
<directory name="src/Sylius/Bundle/ChannelBundle/test" />
<directory name="src/Sylius/Bundle/CoreBundle/spec" />
<directory name="src/Sylius/Bundle/CoreBundle/Tests" />
<directory name="src/Sylius/Bundle/CurrencyBundle/spec" />
<directory name="src/Sylius/Bundle/CurrencyBundle/test" />
<directory name="src/Sylius/Bundle/CustomerBundle/test" />
<directory name="src/Sylius/Bundle/InventoryBundle/spec" />
<directory name="src/Sylius/Bundle/InventoryBundle/test" />
<directory name="src/Sylius/Bundle/LocaleBundle/spec" />
<directory name="src/Sylius/Bundle/LocaleBundle/test" />
<directory name="src/Sylius/Bundle/MoneyBundle/spec" />
<directory name="src/Sylius/Bundle/MoneyBundle/test" />
<directory name="src/Sylius/Bundle/OrderBundle/spec" />
<directory name="src/Sylius/Bundle/OrderBundle/test" />
<directory name="src/Sylius/Bundle/PaymentBundle/test" />
<directory name="src/Sylius/Bundle/PayumBundle/spec" />
<directory name="src/Sylius/Bundle/ProductBundle/spec" />
<directory name="src/Sylius/Bundle/ProductBundle/test" />
<directory name="src/Sylius/Bundle/PromotionBundle/spec" />
<directory name="src/Sylius/Bundle/PromotionBundle/test" />
<directory name="src/Sylius/Bundle/PromotionBundle/Tests" />
<directory name="src/Sylius/Bundle/ReviewBundle/spec" />
<directory name="src/Sylius/Bundle/ShippingBundle/spec" />
<directory name="src/Sylius/Bundle/ShippingBundle/test" />
<directory name="src/Sylius/Bundle/ShopBundle/spec" />
<directory name="src/Sylius/Bundle/TaxationBundle/spec" />
<directory name="src/Sylius/Bundle/TaxationBundle/test" />
<directory name="src/Sylius/Bundle/TaxonomyBundle/Tests" />
<directory name="src/Sylius/Bundle/UiBundle/spec" />
<directory name="src/Sylius/Bundle/UiBundle/Tests" />
<directory name="src/Sylius/Bundle/UserBundle/spec" />
<directory name="src/Sylius/Bundle/UserBundle/Tests" />
<directory name="src/Sylius/Component/Addressing/spec" />
<directory name="src/Sylius/Component/Attribute/spec" />
<directory name="src/Sylius/Component/Channel/spec" />
<directory name="src/Sylius/Component/Core/spec" />
<directory name="src/Sylius/Component/Currency/spec" />
<directory name="src/Sylius/Component/Customer/spec" />
<directory name="src/Sylius/Component/Inventory/spec" />
<directory name="src/Sylius/Component/Locale/spec" />
<directory name="src/Sylius/Component/Order/spec" />
<directory name="src/Sylius/Component/Payment/spec" />
<directory name="src/Sylius/Component/Product/spec" />
<directory name="src/Sylius/Component/Promotion/spec" />
<directory name="src/Sylius/Component/Review/spec" />
<directory name="src/Sylius/Component/Shipping/spec" />
<directory name="src/Sylius/Component/Taxation/spec" />
<directory name="src/Sylius/Component/Taxonomy/spec" />
<directory name="src/Sylius/Component/User/spec" />
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
<issueHandlers>
<!-- level 3 issues - slightly lazy code writing, but probably low false-negatives -->
<DeprecatedClass>
<errorLevel type="info">
<referencedClass name="Payum\Core\Action\GatewayAwareAction" />
<referencedClass name="Payum\Core\Security\GenericTokenFactoryInterface" />
<referencedClass name="Sylius\Component\Core\Calculator\ProductVariantPriceCalculatorInterface" />
<referencedClass name="Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent" /> <!-- deprected in Symfony 4.4 -->
<referencedClass name="Symfony\Component\HttpKernel\EventListener\ExceptionListener" /> <!-- deprected in Symfony 4.4 -->
<referencedClass name="Symfony\Component\Routing\RouteCollectionBuilder" /> <!-- deprecated in Symfony 5.1 -->
<referencedClass name="Symfony\Component\Security\Core\Role\Role" /> <!-- deprecated in Symfony 4.3 -->
<referencedClass name="Symfony\Component\Security\Http\Logout\DefaultLogoutSuccessHandler" /> <!-- deprecated in Symfony 5.1 -->
<referencedClass name="Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface" /> <!-- deprecated in Symfony 5.3 -->
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderAwareInterface" /> <!-- deprecated in Symfony 5.3 -->
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface" /> <!-- deprecated in Symfony 5.3 -->
<referencedClass name="Symfony\Component\Security\Core\Exception\UsernameNotFoundException" /> <!-- deprecated in Symfony 5.3 -->
</errorLevel>
</DeprecatedClass>
<DeprecatedInterface>
<errorLevel type="info">
<referencedClass name="Sylius\Component\Core\Calculator\ProductVariantPriceCalculatorInterface" />
<referencedClass name="Symfony\Component\Security\Core\Encoder\EncoderAwareInterface" /> <!-- deprecated in Symfony 5.3 -->
<referencedClass name="Symfony\Component\Security\Core\User\AdvancedUserInterface" /> <!-- deprecated in Symfony 4.1 -->
<referencedClass name="Symfony\Component\Security\Http\Logout\LogoutSuccessHandlerInterface" /> <!-- deprecated in Symfony 5.1 -->
</errorLevel>
</DeprecatedInterface>
<DeprecatedMethod>
<errorLevel type="info">
<referencedMethod name="Faker\Generator::__get"/>
<referencedMethod name="Payum\Core\Model\GatewayConfigInterface::setFactoryName" />
<referencedMethod name="Sylius\Component\Mailer\Sender\SenderInterface::send"/>
<referencedMethod name="Symfony\Component\EventDispatcher\Event::stopPropagation" /> <!-- deprecated in Symfony 4.3 -->
<referencedMethod name="Symfony\Component\HttpFoundation\JsonResponse::create" /> <!-- deprecated in Symfony 5.1 -->
<referencedMethod name="Symfony\Component\HttpFoundation\RequestStack::getMasterRequest" /> <!-- deprecated in Symfony 5.3 -->
<referencedMethod name="Symfony\Component\HttpKernel\Event\KernelEvent::isMasterRequest" /> <!-- deprecated in Symfony 5.3 -->
<referencedMethod name="Symfony\Component\Security\Core\Authentication\Token\AbstractToken::isAuthenticated" /> <!-- deprecated in Symfony 5.4 -->
<referencedMethod name="Symfony\Component\Security\Core\Authentication\Token\TokenInterface::getUsername" /> <!-- deprecated in Symfony 5.3 -->
<referencedMethod name="Symfony\Component\Security\Core\User\UserInterface::getUsername" /> <!-- deprecated in Symfony 5.3 -->
<referencedMethod name="Symfony\Component\Security\Core\User\UserProviderInterface::loadUserByUsername" /> <!-- deprecated in Symfony 5.3 -->
</errorLevel>
</DeprecatedMethod>
<InternalMethod>
<errorLevel type="info">
<referencedMethod name="PHPUnit\Framework\TestCase::__construct" />
<referencedMethod name="Symfony\Bundle\SecurityBundle\Security\_FirewallMap::getFirewallConfig" />
<referencedMethod name="ApiPlatform\Core\Util\RequestParser::getQueryString" />
<referencedMethod name="ApiPlatform\Core\Util\RequestParser::parseRequestParams" />
</errorLevel>
</InternalMethod>
<InternalClass>
<errorLevel type="info">
<referencedClass name="ApiPlatform\Core\Util\RequestParser" />
</errorLevel>
</InternalClass>
<InvalidDocblock>
<errorLevel type="info">
<file name="vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php" />
</errorLevel>
</InvalidDocblock>
<UndefinedMethod>
<errorLevel type="suppress">
<referencedMethod name="Symfony\Component\HttpFoundation\RequestStack::getSession" />
</errorLevel>
</UndefinedMethod>
<MissingReturnType errorLevel="info" />
<PropertyNotSetInConstructor errorLevel="info" />
<MissingConstructor>
<errorLevel type="info">
<file name="src/Sylius/Bundle/CoreBundle/Application/SyliusPluginTrait.php" />
</errorLevel>
</MissingConstructor>
<MissingParamType errorLevel="info" />
<RedundantConditionGivenDocblockType errorLevel="info" />
<!-- level 4 issues - points to possible deficiencies in logic, higher false-positives -->
<MoreSpecificReturnType errorLevel="info" />
<LessSpecificReturnStatement errorLevel="info" />
<ArgumentTypeCoercion errorLevel="info" />
<PropertyTypeCoercion errorLevel="info" />
<PossiblyInvalidArgument errorLevel="info" />
<PossiblyInvalidArrayAccess errorLevel="info" />
<PossiblyInvalidArrayAssignment errorLevel="info" />
<PossiblyInvalidArrayOffset errorLevel="info" />
<PossiblyInvalidCast errorLevel="info" />
<PossiblyInvalidFunctionCall errorLevel="info" />
<PossiblyInvalidIterator errorLevel="info" />
<PossiblyInvalidMethodCall errorLevel="info" />
<PossiblyInvalidOperand errorLevel="info" />
<PossiblyInvalidPropertyAssignment errorLevel="info" />
<PossiblyInvalidPropertyAssignmentValue errorLevel="info" />
<PossiblyInvalidPropertyFetch errorLevel="info" />
<PossiblyNullArgument errorLevel="info" />
<PossiblyNullArrayAccess errorLevel="info" />
<PossiblyNullArrayAssignment errorLevel="info" />
<PossiblyNullArrayOffset errorLevel="info" />
<PossiblyNullFunctionCall errorLevel="info" />
<PossiblyNullIterator errorLevel="info" />
<PossiblyNullOperand errorLevel="info" />
<PossiblyNullPropertyAssignment errorLevel="info" />
<PossiblyNullPropertyAssignmentValue errorLevel="info" />
<PossiblyNullPropertyFetch errorLevel="info" />
<PossiblyNullReference errorLevel="info" />
<PossiblyUndefinedMethod>
<errorLevel type="info">
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::arrayNode" />
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::booleanNode" />
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::children" />
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::integerNode" />
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::scalarNode" />
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeDefinition::variableNode" />
<referencedMethod name="Symfony\Component\Config\Definition\Builder\NodeParentInterface::end" />
</errorLevel>
</PossiblyUndefinedMethod>
<!-- level 5 issues - should be avoided at mosts costs... -->
<TooManyArguments>
<errorLevel type="info">
<referencedFunction name="Symfony\Contracts\EventDispatcher\EventDispatcherInterface::dispatch" />
<referencedFunction name="Symfony\Component\HttpKernel\Config\FileLocator::__construct" />
<referencedFunction name="Symfony\Contracts\EventDispatcher\EventDispatcherInterface::dispatch" />
<referencedFunction name="Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::__construct" /> <!-- removed parameter in Symfony 5.4 -->
</errorLevel>
<errorLevel type="suppress">
<referencedFunction name="Doctrine\ORM\Query\Expr::andX" />
<referencedFunction name="Doctrine\ORM\Query\Expr::orX" />
<referencedFunction name="Symfony\Component\PasswordHasher\PasswordHasherInterface::hash" />
</errorLevel>
</TooManyArguments>
<!-- level 6 issues - really bad things -->
<InvalidNullableReturnType errorLevel="info" />
<NullableReturnStatement errorLevel="info" />
<InvalidFalsableReturnType errorLevel="info" />
<FalsableReturnStatement errorLevel="info" />
<MoreSpecificImplementedParamType errorLevel="info" />
<LessSpecificImplementedReturnType errorLevel="info" />
<!-- level 7 issues - even worse -->
<InvalidArgument>
<errorLevel type="info">
<referencedFunction name="Symfony\Component\EventDispatcher\EventDispatcherInterface::dispatch" />
<referencedFunction name="SyliusLabs\AssociationHydrator\AssociationHydrator::__construct" />
<referencedFunction name="Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::__construct" />
</errorLevel>
</InvalidArgument>
<!-- level 8 issues - some fatal errors in PHP -->
<MethodSignatureMismatch errorLevel="info" />
</issueHandlers>
<stubs>
<file name="etc/psalm/LaminasPriorityQueueStub.php" />
</stubs>
<plugins>
<pluginClass class="Psalm\MockeryPlugin\Plugin" />
</plugins>
</psalm>