-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathphpstan-local.neon
More file actions
116 lines (92 loc) · 3.25 KB
/
phpstan-local.neon
File metadata and controls
116 lines (92 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# Package-specific PHPStan configuration
# This file contains rules specific to this package and won't be overwritten by skeleton sync
# Add your package-specific ignoreErrors, excludePaths, or other customizations here
parameters:
# Override level for this package - reduce strictness for initial release
level: 5
# Analyze only src, not tests
paths:
- src
# Exclude tests from analysis
excludePaths:
- tests
- src/Testing # Pest expectations use special $this binding
# Package-specific ignores
ignoreErrors:
# Traits exported for package users, not used internally
- identifier: trait.unused
# Generic type specifications - will fix gradually
-
message: '#does not specify its types#'
# Method exists checks on interfaces
-
message: '#Call to function method_exists\(\) .* will always evaluate to true#'
# Nullsafe operator style preferences
-
message: '#Using nullsafe#'
# Class-string type coercion issues - common in state machine packages
-
message: '#class-string<.*StateContract>, string given#'
# TransitionContext nullable issues - handled at runtime
-
message: '#TransitionContext\|null#'
# Return type covariance issues with Collection
-
message: '#should return.*Collection.*but returns.*Collection#'
# Undefined property/method on interfaces - these exist on implementing classes
-
message: '#Call to an undefined method.*HasStatesContract#'
-
message: '#Call to an undefined static method.*HasStatesContract#'
# Object property access issues
-
message: '#Access to an undefined property object#'
-
message: '#Call to an undefined static method object#'
-
message: '#Call to an undefined method object#'
# Static call to instance method
-
message: '#Static call to instance method#'
# Console command option handling
-
message: '#array\|string\|true given#'
-
message: '#array\|bool\|string#'
-
message: '#cannot be cast to string#'
-
message: '#Possibly invalid array key type#'
-
message: '#Binary operation#'
# Return type issues
-
message: '#should return.*but returns#'
# Missing type specifications
-
identifier: missingType.iterableValue
-
identifier: missingType.parameter
# By-ref parameter type issues
- identifier: parameterByRef.type
# Undefined static method on interface (exists on concrete classes)
-
message: '#Call to an undefined static method.*StateContract::isDefault#'
# Access to undefined property on DTOs (dynamic properties)
-
message: '#Access to an undefined property.*TransitionResult#'
# Method on nullable Collection
-
message: '#Cannot call method.*on.*Collection\|null#'
# Method on nullable Model
-
message: '#Cannot call method.*on.*Model\|null#'
# array_slice parameter type
-
message: '#Parameter .* of function array_slice#'
# class_basename with nullable model
-
message: '#Parameter .* of function class_basename expects object\|string.*Model\|null given#'
# Recursive method call type issues
-
message: '#Parameter .* of method.*findReachableStates\(\) expects#'