includes: - phpstan-baseline.neon - vendor/phpstan/phpstan-doctrine/extension.neon - vendor/phpstan/phpstan-webmozart-assert/extension.neon - vendor/jangregor/phpstan-prophecy/extension.neon - vendor/phpstan/phpstan-symfony/extension.neon - vendor/phpstan/phpstan-symfony/rules.neon parameters: level: 6 reportUnmatchedIgnoredErrors: false paths: - 'src/' excludePaths: # Test dependencies - '**/spec/**.php' - '**/Bundle/*/test/**.php' - '**/Bundle/*/test/app/**.php' - '**/Bundle/*/test/src/**.php' - '**/Bundle/*/Tests/**.php' - 'src/Sylius/Behat/**.php' # Vendor files in subpackages - '**/Bundle/*/vendor/**.php' - '**/Component/*/vendor/**.php' # Deprecated classes - 'src/Sylius/Bundle/CoreBundle/Application/Kernel.php' # To investigate, occurs after release of doctrine/orm 2.14, the processing of these classes ends with exit code 143 - 'src/Sylius/Bundle/CoreBundle/Doctrine/DQL/**.php' - 'src/Sylius/Bundle/CoreBundle/Doctrine/ORM/SqlWalker/**.php' # Temporary exclusion during upgrade to API Platform 3 - 'src/Sylius/Bundle/ApiBundle/**.php' # Random errors related to Template Events (we're going to replace them with Twig Events anyway) - 'src/Sylius/Bundle/UiBundle/Console/Command/DebugTemplateEventCommand.php' ignoreErrors: - '/(Interface|Class) [a-zA-Z\\]+ specifies template type (\w+) of interface [a-zA-Z\\]+ as [a-zA-Z\\]+ (of [a-zA-Z\\]+ )?but it''s already specified as/' # turns off a weird generics check behavior, we are basing on Psalm for generics checks - '/Access to an undefined property Doctrine\\Common\\Collections\\ArrayCollection/' - '/Class "Sylius\\Bundle\\CoreBundle\\Fixture\\PaymentFixture" not found/' - '/Class Symfony\\Component\\Clock\\Clock not found\./' - '/Class Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken constructor invoked with 4 parameters\, 2\-3 required./' - '/Method Symfony\\Component\\HttpKernel\\CacheWarmer\\WarmableInterface\:\:warmUp\(\) invoked with 2 parameters\, 1 required\./' - '/Method Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface\:\:supportsNormalization\(\) invoked with 3 parameters\, 1\-2 required\./' - '/Symfony\\Component\\Serializer\\NameConverter\\NameConverterInterface::normalize\(\) invoked with 2 parameters, 1 required./' - '/Method Sylius\\Component\\(\w+)\\Model\\(\w+)\:\:getId\(\) has no return type specified./' - '/Method [a-zA-z\\]+Filter\:\:filterProperty\(\) has parameter \$value with no type specified./' - '/Method [a-zA-z\\]+Persister\:\:(persist|remove|supports)\(\) has parameter \$data with no type specified./' - '/Method Sylius\\Bundle\\AdminBundle\\Twig\\Component\\[a-zA-Z\\]+\:\:getDataModelValue\(\) is unused./'