From 3336d00b44b2462d57be4753a242ae818d322366 Mon Sep 17 00:00:00 2001
From: Jan Wennrich <jan.wennrich@pcsg.de>
Date: Fri, 2 Aug 2024 17:14:18 +0200
Subject: [PATCH] chore: set PHPStan to level 5 with baseline

---
 .phive/phars.xml      |  2 +-
 phpstan-baseline.neon | 51 +++++++++++++++++++++++++++++++++++++++++++
 phpstan.dist.neon     |  4 +++-
 3 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/.phive/phars.xml b/.phive/phars.xml
index 63a030f..ebb5988 100644
--- a/.phive/phars.xml
+++ b/.phive/phars.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <phive xmlns="https://phar.io/phive">
-  <phar name="phpstan" version="1.11.1" installed="1.11.1" location="./tools/phpstan" copy="false"/>
+  <phar name="phpstan" version="1.11.8" installed="1.11.8" location="./tools/phpstan" copy="false"/>
   <phar name="phpunit" version="^10.5.20" installed="10.5.20" location="./tools/phpunit" copy="false"/>
   <phar name="phpcs" version="^3.10.1" installed="3.10.1" location="./tools/phpcs" copy="false"/>
   <phar name="phpcbf" version="^3.10.1" installed="3.10.1" location="./tools/phpcbf" copy="false"/>
diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
index e69de29..0fa167e 100644
--- a/phpstan-baseline.neon
+++ b/phpstan-baseline.neon
@@ -0,0 +1,51 @@
+parameters:
+	ignoreErrors:
+		-
+			message: "#^Call to an undefined method QUI\\\\Interfaces\\\\Projects\\\\Site\\:\\:getCachePath\\(\\)\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Controls/Menu/Categories.php
+
+		-
+			message: "#^Access to constant PRODUCT_FIELD_SHIPPING_TIME on an unknown class QUI\\\\ERP\\\\Shipping\\\\Shipping\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^Access to constant PRODUCT_FIELD_STOCK on an unknown class QUI\\\\ERP\\\\StockManagement\\\\StockManager\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^Call to method setProduct\\(\\) on an unknown class QUI\\\\ERP\\\\StockManagement\\\\Products\\\\Fields\\\\StockView\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^Call to static method getShippingTimeFrontendViewByProduct\\(\\) on an unknown class QUI\\\\ERP\\\\StockManagement\\\\StockManager\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^Method QUI\\\\TemplateCologne\\\\Utils\\:\\:getStockFrontendView\\(\\) should return QUI\\\\ERP\\\\Products\\\\Field\\\\View\\|false but returns QUI\\\\ERP\\\\StockManagement\\\\Products\\\\Fields\\\\StockView\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^PHPDoc tag @var for variable \\$StockView contains unknown class QUI\\\\ERP\\\\StockManagement\\\\Products\\\\Fields\\\\StockView\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^PHPDoc tag @var has invalid value \\(\\$Site Site\\)\\: Unexpected token \"\\$Site\", expected type at offset 9$#"
+			count: 1
+			path: src/QUI/TemplateCologne/Utils.php
+
+		-
+			message: "#^Variable \\$Project might not be defined\\.$#"
+			count: 2
+			path: src/QUI/TemplateCologne/settings.css.php
+
+		-
+			message: "#^Variable \\$Site might not be defined\\.$#"
+			count: 1
+			path: src/QUI/TemplateCologne/settings.css.php
diff --git a/phpstan.dist.neon b/phpstan.dist.neon
index e929f5a..dc33bb4 100644
--- a/phpstan.dist.neon
+++ b/phpstan.dist.neon
@@ -2,8 +2,10 @@ includes:
 	- phpstan-baseline.neon
 
 parameters:
-    level: 8
+    level: 5
     paths:
         - src
         - ajax
+    bootstrapFiles:
+        - tests/phpstan-bootstrap.php
     tipsOfTheDay: false
-- 
GitLab