diff --git a/Makefile b/Makefile index a3252b57..7a51e1bb 100644 --- a/Makefile +++ b/Makefile @@ -122,6 +122,10 @@ phpstan: APP_ENV=test phpstan: APP_DEBUG=1 phpstan: cache $(APP) phpstan analyse --configuration phpstan.neon $(if $(DEBUG),--debug -vvv) +phpstan-baseline: APP_ENV=test +phpstan-baseline: APP_DEBUG=1 +phpstan-baseline: cache + $(APP) phpstan analyse --configuration phpstan.neon --generate-baseline phpunit: APP_ENV=test phpunit: APP_DEBUG=1 @@ -135,8 +139,11 @@ paratest: requirements: APP_ENV=prod requirements: $(APP) requirements-checker + psalm: $(APP) psalm --show-info=false +psalm-baseline: + $(APP) psalm --update-baseline --set-baseline=psalm-baseline.xml doctrine-ensure-production-settings: APP_ENV=prod doctrine-ensure-production-settings: APP_DEBUG=0 diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 00000000..47758ff7 --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,592 @@ +parameters: + ignoreErrors: + - + message: "#^Method App\\\\Calendar\\\\Application\\\\StreamOverflowException\\:\\:fromKeys\\(\\) has parameter \\$keys with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Calendar/Application/StreamOverflowException.php + + - + message: "#^Property App\\\\Calendar\\\\Domain\\\\DeletionReason\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Calendar/Domain/DeletionReason.php + + - + message: "#^Method App\\\\Car\\\\Controller\\\\CarController\\:\\:getEntityFormOptions\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Controller/CarController.php + + - + message: "#^Method App\\\\Car\\\\Controller\\\\CarController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Controller/CarController.php + + - + message: "#^Method App\\\\Car\\\\Controller\\\\CarController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Controller/CarController.php + + - + message: "#^Method App\\\\Car\\\\Controller\\\\ModelController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Controller/ModelController.php + + - + message: "#^Method App\\\\Car\\\\Controller\\\\RecommendationController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Controller/RecommendationController.php + + - + message: "#^Property App\\\\Car\\\\Enum\\\\BodyType\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Enum/BodyType.php + + - + message: "#^Property App\\\\Car\\\\Enum\\\\DriveWheelConfiguration\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Enum/DriveWheelConfiguration.php + + - + message: "#^Property App\\\\Car\\\\Enum\\\\DriveWheelConfiguration\\:\\:\\$code type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Enum/DriveWheelConfiguration.php + + - + message: "#^Property App\\\\Car\\\\Enum\\\\FuelType\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Enum/FuelType.php + + - + message: "#^Property App\\\\Car\\\\Enum\\\\Transmission\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Enum/Transmission.php + + - + message: "#^Property App\\\\Car\\\\Enum\\\\Transmission\\:\\:\\$code type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Car/Enum/Transmission.php + + - + message: "#^Method App\\\\Command\\\\Part\\\\PartCaseFindCommand\\:\\:getUniversal\\(\\) has parameter \\$partIds with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Command/Part/PartCaseFindCommand.php + + - + message: "#^Method App\\\\Command\\\\Part\\\\PartCaseFindCommand\\:\\:getUniversal\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Command/Part/PartCaseFindCommand.php + + - + message: "#^Method App\\\\Command\\\\Part\\\\PartCaseFindCommand\\:\\:getMap\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Command/Part/PartCaseFindCommand.php + + - + message: "#^Method App\\\\Command\\\\Part\\\\PartCaseFindCommand\\:\\:getCars\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Command/Part/PartCaseFindCommand.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:getSubscribedServices\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:redirectToEasyPath\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:generateEasyPath\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Unable to resolve the template type T in call to method App\\\\Doctrine\\\\Registry\\:\\:repository\\(\\)$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:event\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:createEntityForm\\(\\) has parameter \\$entityProperties with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:findBy\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:findBy\\(\\) return type has no value type specified in iterable type Pagerfanta\\\\Pagerfanta\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\AbstractController\\:\\:createEntityFormBuilder\\(\\) return type has no value type specified in iterable type Symfony\\\\Component\\\\Form\\\\FormBuilder\\.$#" + count: 1 + path: src/Controller/EasyAdmin/AbstractController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\EmployeeController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/EmployeeController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\IncomeController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/IncomeController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\MC\\\\EquipmentController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/MC/EquipmentController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\MotionController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/MotionController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OperandController\\:\\:getSubscribedServices\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OperandController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OperandController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OperandController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OperandTransactionController\\:\\:createEntityForm\\(\\) has parameter \\$entityProperties with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OperandTransactionController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderItemController\\:\\:getSubscribedServices\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderItemController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderItemController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderItemController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderItemServiceController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderItemServiceController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderItemServiceController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderItemServiceController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\OrderNoteController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/OrderNoteController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\PartController\\:\\:renderTemplate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/PartController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\PartController\\:\\:createEntityFormBuilder\\(\\) return type has no value type specified in iterable type Symfony\\\\Component\\\\Form\\\\FormBuilder\\.$#" + count: 1 + path: src/Controller/EasyAdmin/PartController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\PartController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/PartController.php + + - + message: "#^Method App\\\\Controller\\\\EasyAdmin\\\\PersonController\\:\\:createSearchQueryBuilder\\(\\) has parameter \\$searchableFields with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Controller/EasyAdmin/PersonController.php + + - + message: "#^Method App\\\\EasyAdmin\\\\Notify\\\\BalanceNotificationListener\\:\\:onPaymentCreated\\(\\) has parameter \\$event with no value type specified in iterable type App\\\\Event\\\\PaymentCreated\\.$#" + count: 1 + path: src/EasyAdmin/Notify/BalanceNotificationListener.php + + - + message: "#^Method App\\\\EasyAdmin\\\\Notify\\\\EntityNotificationListener\\:\\:onCreateOrUpdate\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EasyAdmin/Notify/EntityNotificationListener.php + + - + message: "#^Method App\\\\EasyAdmin\\\\Notify\\\\EntityNotificationListener\\:\\:onStatusChanged\\(\\) has parameter \\$event with no value type specified in iterable type App\\\\Event\\\\OrderStatusChanged\\.$#" + count: 1 + path: src/EasyAdmin/Notify/EntityNotificationListener.php + + - + message: "#^Property App\\\\Entity\\\\Landlord\\\\Event\\:\\:\\$arguments type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Landlord/Event.php + + - + message: "#^Method App\\\\Entity\\\\Landlord\\\\Event\\:\\:__construct\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Landlord/Event.php + + - + message: "#^Property App\\\\Entity\\\\Landlord\\\\MC\\\\Line\\:\\:\\$parts type has no value type specified in iterable type iterable\\.$#" + count: 1 + path: src/Entity/Landlord/MC/Line.php + + - + message: "#^Method App\\\\Entity\\\\Landlord\\\\PartCross\\:\\:getParts\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Landlord/PartCross.php + + - + message: "#^Method App\\\\Entity\\\\Tenant\\\\Order\\:\\:getItems\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Tenant/Order.php + + - + message: "#^Method App\\\\Entity\\\\Tenant\\\\Order\\:\\:getRootItems\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Tenant/Order.php + + - + message: "#^Method App\\\\Entity\\\\Tenant\\\\Order\\:\\:getSuspends\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Tenant/Order.php + + - + message: "#^Method App\\\\Entity\\\\Tenant\\\\OrderItemGroup\\:\\:getParts\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Entity/Tenant/OrderItemGroup.php + + - + message: "#^Property App\\\\Enum\\\\NoteType\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Enum/NoteType.php + + - + message: "#^Property App\\\\Enum\\\\OrderStatus\\:\\:\\$color type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Enum/OrderStatus.php + + - + message: "#^Property App\\\\Enum\\\\OrderStatus\\:\\:\\$name type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Enum/OrderStatus.php + + - + message: "#^Method App\\\\Event\\\\OrderAppointmentMade\\:\\:__construct\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Event/OrderAppointmentMade.php + + - + message: "#^Method App\\\\Event\\\\PaymentCreated\\:\\:__construct\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Event/PaymentCreated.php + + - + message: "#^Method App\\\\EventListener\\\\AccrueIncomePartsListener\\:\\:onIncomeAccrued\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/AccrueIncomePartsListener.php + + - + message: "#^Method App\\\\EventListener\\\\BalanceListener\\:\\:onPaymentCreated\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/BalanceListener.php + + - + message: "#^Method App\\\\EventListener\\\\EmployeeContractorListener\\:\\:onEmployeeCreatedOrFired\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/EmployeeContractorListener.php + + - + message: "#^Method App\\\\EventListener\\\\EventsListener\\:\\:onEvent\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/EventsListener.php + + - + message: "#^Method App\\\\EventListener\\\\OrderStatusListener\\:\\:inPartReserved\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/OrderStatusListener.php + + - + message: "#^Method App\\\\EventListener\\\\PartCaseOnOrderCloseListener\\:\\:onOrderClosed\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/PartCaseOnOrderCloseListener.php + + - + message: "#^Method App\\\\EventListener\\\\ReserveAccruedPartsListener\\:\\:onPartAccrued\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/ReserveAccruedPartsListener.php + + - + message: "#^Method App\\\\EventListener\\\\StockpileListener\\:\\:onPartMove\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/StockpileListener.php + + - + message: "#^Method App\\\\EventListener\\\\StockpileListener\\:\\:onPartOrderClose\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/EventListener/StockpileListener.php + + - + message: "#^Method App\\\\Form\\\\Model\\\\OrderTOService\\:\\:__construct\\(\\) has parameter \\$parts with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Form/Model/OrderTOService.php + + - + message: "#^Call to function is_float\\(\\) with mixed will always evaluate to false\\.$#" + count: 1 + path: src/Form/Transformer/DivisoredNumberToLocalizedStringTransformer.php + + - + message: "#^Call to function is_int\\(\\) with mixed will always evaluate to false\\.$#" + count: 1 + path: src/Form/Transformer/DivisoredNumberToLocalizedStringTransformer.php + + - + message: "#^Parameter \\#1 \\$value \\(string\\) of method App\\\\Form\\\\Transformer\\\\DivisoredNumberToLocalizedStringTransformer\\:\\:reverseTransform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:reverseTransform\\(\\)$#" + count: 1 + path: src/Form/Transformer/DivisoredNumberToLocalizedStringTransformer.php + + - + message: "#^Property App\\\\Form\\\\Type\\\\CurrencyType\\:\\:\\$currencies type has no value type specified in iterable type Money\\\\Currencies\\.$#" + count: 1 + path: src/Form/Type/CurrencyType.php + + - + message: "#^Method App\\\\Form\\\\Type\\\\CurrencyType\\:\\:__construct\\(\\) has parameter \\$currencies with no value type specified in iterable type Money\\\\Currencies\\.$#" + count: 1 + path: src/Form/Type/CurrencyType.php + + - + message: "#^PHPDoc tag @var for variable \\$view has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Form/Type/OrderItemServiceType.php + + - + message: "#^Parameter \\#1 \\$view of method Symfony\\\\Component\\\\Form\\\\AbstractType\\:\\:buildView\\(\\) expects Symfony\\\\Component\\\\Form\\\\FormView, array given\\.$#" + count: 1 + path: src/Form/Type/OrderItemServiceType.php + + - + message: "#^Method App\\\\Form\\\\Type\\\\WorkerType\\:\\:getPreferredOperands\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Form/Type/WorkerType.php + + - + message: "#^Call to function is_subclass_of\\(\\) with 'App\\\\\\\\Form\\\\\\\\Model\\\\\\\\Model' and string will always evaluate to true\\.$#" + count: 1 + path: src/Form/TypeGuesser/EntityModelTypeGuesser.php + + - + message: "#^Variable method call on Symfony\\\\Bridge\\\\Doctrine\\\\Form\\\\DoctrineOrmTypeGuesser\\.$#" + count: 1 + path: src/Form/TypeGuesser/EntityModelTypeGuesser.php + + - + message: "#^Method App\\\\Manager\\\\PartManager\\:\\:inOrders\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Manager/PartManager.php + + - + message: "#^Method App\\\\Manager\\\\StockpileManager\\:\\:actualize\\(\\) has parameter \\$values with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Manager/StockpileManager.php + + - + message: "#^Method App\\\\Model\\\\DeficitPart\\:\\:__construct\\(\\) has parameter \\$orders with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Model/DeficitPart.php + + - + message: "#^Method App\\\\Request\\\\EntityTransformer\\:\\:transform\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Request/EntityTransformer.php + + - + message: "#^Method App\\\\Request\\\\EntityTransformerArgumentValueResolver\\:\\:resolve\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: src/Request/EntityTransformerArgumentValueResolver.php + + - + message: "#^Method App\\\\Router\\\\ListeningRouterDecorator\\:\\:generate\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Router/ListeningRouterDecorator.php + + - + message: "#^Method App\\\\Router\\\\ListeningRouterDecorator\\:\\:match\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Router/ListeningRouterDecorator.php + + - + message: "#^Method App\\\\Router\\\\ListeningRouterDecorator\\:\\:matchRequest\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Router/ListeningRouterDecorator.php + + - + message: "#^Method App\\\\Router\\\\PartExplorerRouteRefererListener\\:\\:onRouterPreGenerate\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/Router/PartExplorerRouteRefererListener.php + + - + message: "#^Method App\\\\Serializer\\\\MoneyNormalizer\\:\\:normalize\\(\\) has parameter \\$context with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Serializer/MoneyNormalizer.php + + - + message: "#^Method App\\\\Tenant\\\\ConnectionSwitcher\\:\\:setParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/ConnectionSwitcher.php + + - + message: "#^Property App\\\\Tenant\\\\EventListener\\\\TenantRelationListener\\:\\:\\$map type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/EventListener/TenantRelationListener.php + + - + message: "#^Method App\\\\Tenant\\\\EventListener\\\\TenantRelationListener\\:\\:__construct\\(\\) has parameter \\$map with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/EventListener/TenantRelationListener.php + + - + message: "#^Call to method Symfony\\\\Component\\\\Console\\\\Input\\\\InputInterface\\:\\:hasOption\\(\\) with 'connection'\\|'db'\\|'em' will always evaluate to true\\.$#" + count: 1 + path: src/Tenant/EventListener/TenantStateListener.php + + - + message: "#^Method App\\\\Tenant\\\\EventListener\\\\TenantStateListener\\:\\:onRouterPreGenerate\\(\\) has parameter \\$event with no value type specified in iterable type Symfony\\\\Component\\\\EventDispatcher\\\\GenericEvent\\.$#" + count: 1 + path: src/Tenant/EventListener/TenantStateListener.php + + - + message: "#^Call to function assert\\(\\) with true will always evaluate to true\\.$#" + count: 1 + path: src/Tenant/MetadataCompilerPass.php + + - + message: "#^Instanceof between Doctrine\\\\Bundle\\\\DoctrineBundle\\\\Registry and Symfony\\\\Bridge\\\\Doctrine\\\\ManagerRegistry will always evaluate to true\\.$#" + count: 1 + path: src/Tenant/MetadataCompilerPass.php + + - + message: "#^Property App\\\\Tenant\\\\Tenant\\:\\:\\$identifier type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/Tenant.php + + - + message: "#^Property App\\\\Tenant\\\\Tenant\\:\\:\\$displayName type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/Tenant.php + + - + message: "#^Property App\\\\Tenant\\\\Tenant\\:\\:\\$requisites type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/Tenant.php + + - + message: "#^Method App\\\\Tenant\\\\Tenant\\:\\:getRequisites\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Tenant/Tenant.php + + - + message: "#^Method App\\\\Twig\\\\Extension\\\\AppExtension\\:\\:toQuery\\(\\) has parameter \\$entity with no value type specified in iterable type array\\.$#" + count: 1 + path: src/Twig/Extension/AppExtension.php + + - + message: "#^Method App\\\\Twig\\\\Extension\\\\AppExtension\\:\\:toQuery\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Twig/Extension/AppExtension.php + + - + message: "#^Property App\\\\User\\\\Entity\\\\User\\:\\:\\$roles type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/User/Entity/User.php + + - + message: "#^Method App\\\\User\\\\Entity\\\\User\\:\\:__construct\\(\\) has parameter \\$roles with no value type specified in iterable type array\\.$#" + count: 1 + path: src/User/Entity/User.php + + - + message: "#^Method App\\\\User\\\\Entity\\\\User\\:\\:setRoles\\(\\) has parameter \\$roles with no value type specified in iterable type array\\.$#" + count: 1 + path: src/User/Entity/User.php + + - + message: "#^Property App\\\\User\\\\Entity\\\\UserCredentials\\:\\:\\$payloads type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/User/Entity/UserCredentials.php + + - + message: "#^Method App\\\\User\\\\Entity\\\\UserCredentials\\:\\:__construct\\(\\) has parameter \\$payloads with no value type specified in iterable type array\\.$#" + count: 1 + path: src/User/Entity/UserCredentials.php + + - + message: "#^Method App\\\\User\\\\Entity\\\\UserCredentials\\:\\:getPayloads\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/User/Entity/UserCredentials.php + + - + message: "#^Method App\\\\User\\\\Fixtures\\\\UserFixtures\\:\\:users\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: src/User/Fixtures/UserFixtures.php + + - + message: "#^Method App\\\\Tests\\\\Calendar\\\\StreamCollectionTest\\:\\:validData\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: tests/Calendar/StreamCollectionTest.php + + - + message: "#^Method App\\\\Tests\\\\Calendar\\\\StreamTest\\:\\:validData\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: tests/Calendar/StreamTest.php + + - + message: "#^Method App\\\\Tests\\\\Calendar\\\\StreamTest\\:\\:overflowData\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: tests/Calendar/StreamTest.php + + - + message: "#^Method App\\\\Tests\\\\SmokeTest\\:\\:anonymousPages\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: tests/SmokeTest.php + + - + message: "#^Method App\\\\Tests\\\\SmokeTest\\:\\:easyadmin\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: tests/SmokeTest.php + + - + message: "#^Method App\\\\Tests\\\\SmokeTest\\:\\:admin\\(\\) return type has no value type specified in iterable type Generator\\.$#" + count: 1 + path: tests/SmokeTest.php + diff --git a/phpstan.neon b/phpstan.neon index b7b00f16..f3076464 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -4,6 +4,7 @@ includes: - vendor/phpstan/phpstan-strict-rules/rules.neon - vendor/phpstan/phpstan-symfony/extension.neon - vendor/phpstan/phpstan/conf/bleedingEdge.neon + - phpstan-baseline.neon parameters: level: 7 @@ -13,14 +14,5 @@ parameters: excludes_analyse: - %rootDir%/../../../src/Command/TestCommand.php - %rootDir%/../../../src/Controller/TestController.php - - %rootDir%/../../../src/Tenant/MetadataCompilerPass.php - - %rootDir%/../../../src/Form/TypeGuesser/EntityModelTypeGuesser.php - ignoreErrors: - - '#should be contravariant with parameter#' - - "#connection'|'db'|'em' will always evaluate to true#" - - "#no value type specified in iterable type#" - - "#with mixed will always evaluate to false#" - - "#Unable to resolve the template type T in call to method#" - - "#FormView, array given#" symfony: container_xml_path: %rootDir%/../../../var/cache/test/App_KernelTestDebugContainer.xml diff --git a/psalm-baseline.xml b/psalm-baseline.xml new file mode 100644 index 00000000..b014dc97 --- /dev/null +++ b/psalm-baseline.xml @@ -0,0 +1,548 @@ + + + + + $dto->date + $dto->duration + $dto->id + $dto->date + $dto->duration + $dto->reason + + + createQueryBuilder + + + CalendarEntryController + + + + + mb_strtolower($searchString) + + + getReference + getDisplayName + + + + + mb_strtolower($item) + + + + + $model->service + $model->price + $model->worker + + + createQueryBuilder + + + RecommendationController + + + + + $part + $model->price + $model->price + $model->part + $model->price + + + $forms + + + getId + + + RecommendationPartController + + + + + mb_convert_case($this->gosnomer, MB_CASE_UPPER, 'UTF-8') + + + $type + + + toString + $this->recommendations + + + + + $this->name + + + + + $this->manufacturer->getName() + $this->localizedName ?? $this->name + + + getName + + + + + entityOrNull + + + + + $recommendationPart->part + $worker + + + + + $person + + + + + json_encode(['bla' => 'fuck']) + + + + + transactional + transactional + flush + + + EmployeeController + + + + + $entity->getDescription() + + + transactional + + + ExpenseItemController + + + + + $income->getId() + $income->getSupplier() + $income->getId() + $income->getSupplier() + + + transactional + + + IncomeController + + + + + $entity->getIncome() + $entity->getIncome() + + + isEditable + getId + + + + + mb_strtolower($searchString) + + + + + mb_strtolower($item) + + + + + $model->description + $transaction->getId() + + + transactional + + + OperandTransactionController + + + + + mb_strtolower($item) + + + $order->getId() + $order->getId() + + + $services + + + isFilled + flush + flush + flush + transactional + getRepository + getRepository + getRepository + transactional + + + OrderController + + + + + getRepository + getOrder + transactional + + + + + $model->name + + + + + $model->part + $model->price + + + OrderItemPartController + + + + + mb_strtolower($item) + mb_strtolower($searchString) + + + $model->service + $model->price + $sortDirection + + + getRepository + getConnection + + + + + $mileage + + + flush + flush + + + + + fn (Order $order): int => (int) $order->getId() + + + mb_strtolower(trim($searchString)) + + + $user->getId() + $user->getId() + $case->caseName + $entity->getNumber() + $entity->getManufacturer()->getName() + $entity->getName() + $model->manufacturer + $model->name + $model->number + + + getRepository + getName + + + PartController + + + + + mb_strtolower($item) + + + getRepository + + + + + TestController + + + + + $string + $string + + + + + $name + $class + + + + + json_encode($data, JSON_THROW_ON_ERROR) + + + + + json_encode($data, JSON_THROW_ON_ERROR) + + + + + $person + + + EmployeeFixtures + + + + + $name + $address + + + + + preg_replace('/[^a-zA-Z0-9]/', '', $number) + + + + + $this->parts + + + + + $this->lastname + $this->firstname + + + + + getFullName + getFullName + + + $ratio + + + + + $this->getId() + + + format + + + + + $incomePart->getIncome()->getId() + $incomePart->getPart() + $incomePart->getQuantity() + + + getId + + + + + $order->getId() + + + + + $itemDiscount + + + isEqual + multiply + + + + + $this->discount() + + + + + $this->discount() + + + + + $this->discount() + + + + + setContractor + + + + + isEntity + + + + + $part->getId() + + + + + $values + + + + + $recipient + $wallet + + + + + OrderGroup + + + + + $order + + + + + OrderPart + + + + + $worker + OrderService + + + + + preg_replace('/\s/', '', $value) + + + + + $operand->getId() + + + + + IncomeFixtures + + + + + IncomePartFixtures + + + + + object + + + $em->getReference(Order::class, $id) + + + getId + + + + + $payment->getDescription() + $order->getId() + $order->getId() + $order->getId() + + + + + removePart + + + + + $income->getAccruedAmount() + + + + + $logo + + + + + $part + + + OrderFixtures + + + + + $argument->getType() + $argument->getType() + + + + + $tenant + $user + + + + + get + + + UserController + + + + + $expiredAt + + + + + UserFixtures + + + + + UserRelationFixtures + + + + + self::ADDITIONAL_QUERY[$entity][$action] ?? [] + + + get + + + diff --git a/psalm.xml b/psalm.xml index 3ab80020..0047955a 100644 --- a/psalm.xml +++ b/psalm.xml @@ -9,6 +9,7 @@ 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" + errorBaseline="psalm-baseline.xml" > @@ -21,22 +22,6 @@ - - - - - - - - - - - - - - - -