Files
monica/psalm.xml
T
2021-06-19 22:29:32 +02:00

167 lines
6.4 KiB
XML

<?xml version="1.0"?>
<psalm
name="Example Psalm config with recommended defaults"
useDocblockTypes="true"
totallyTyped="false"
>
<projectFiles>
<directory name="database/seeds" />
<directory name="database/migrations" />
<directory name="app" />
<directory name="routes" />
<ignoreFiles>
<directory name="vendor" />
<file name="app/Helpers/helpers.php" />
</ignoreFiles>
</projectFiles>
<plugins>
<pluginClass class="Psalm\LaravelPlugin\Plugin" />
</plugins>
<issueHandlers>
<LessSpecificReturnType errorLevel="info" />
<!-- level 3 issues - slightly lazy code writing, but provably low false-negatives -->
<DeprecatedMethod errorLevel="info" />
<MissingClosureReturnType errorLevel="info" />
<MissingReturnType errorLevel="info" />
<MissingPropertyType errorLevel="error" />
<InvalidDocblock errorLevel="error" />
<PropertyNotSetInConstructor errorLevel="info" />
<MissingConstructor errorLevel="info" />
<MissingParamType errorLevel="info" />
<MissingClosureParamType errorLevel="info" />
<DocblockTypeContradiction errorLevel="info" />
<RedundantConditionGivenDocblockType errorLevel="info" />
<!-- level 4 issues - points to possible deficiencies in logic, higher false-positives -->
<MismatchingDocblockReturnType errorLevel="info" />
<MismatchingDocblockParamType errorLevel="info" />
<MoreSpecificReturnType errorLevel="info" />
<LessSpecificReturnStatement errorLevel="info" />
<ArgumentTypeCoercion errorLevel="info" />
<RedundantCondition errorLevel="info" />
<PossiblyFalseArgument errorLevel="info" />
<PossiblyFalsePropertyAssignmentValue errorLevel="info" />
<PossiblyFalseReference errorLevel="info" />
<PossiblyInvalidArgument errorLevel="info" />
<PossiblyInvalidArrayAccess errorLevel="info" />
<PossiblyInvalidArrayAssignment errorLevel="info" />
<PossiblyInvalidMethodCall 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" />
<!-- level 5 issues - should be avoided at mosts costs... -->
<ForbiddenCode errorLevel="info" />
<ImplicitToStringCast errorLevel="info" />
<InvalidScalarArgument errorLevel="info" />
<InvalidToString errorLevel="info" />
<MethodSignatureMismatch errorLevel="info" />
<NoInterfaceProperties errorLevel="info" />
<TooManyArguments errorLevel="info" />
<TypeDoesNotContainType errorLevel="info" />
<InvalidOperand errorLevel="info" />
<LessSpecificImplementedReturnType errorLevel="info" />
<MoreSpecificImplementedParamType errorLevel="info" />
<InternalMethod errorLevel="suppress" />
<!-- level 6 issues - bad stuff here -->
<InvalidNullableReturnType errorLevel="info" />
<NullableReturnStatement errorLevel="info" />
<ImplementedReturnTypeMismatch errorLevel="info" />
<UnresolvableInclude errorLevel="info" />
<InvalidReturnStatement errorLevel="info" />
<InvalidReturnType errorLevel="info" />
<InvalidArgument errorLevel="info" />
<PossiblyUndefinedMethod errorLevel="info" />
<ReservedWord errorLevel="info" />
<UndefinedInterfaceMethod errorLevel="info" />
<!-- Personal fixes -->
<UndefinedMagicPropertyFetch errorLevel="suppress" />
<InvalidPropertyAssignmentValue errorLevel="suppress" />
<UndefinedPropertyAssignment>
<errorLevel type="suppress">
<file name="database/migrations/2017_07_26_220021_change_contacts_table.php" />
</errorLevel>
</UndefinedPropertyAssignment>
<UndefinedMagicPropertyAssignment>
<errorLevel type="suppress">
<file name="database/migrations/2017_08_06_153253_move_kids_to_contacts.php" />
</errorLevel>
</UndefinedMagicPropertyAssignment>
<UndefinedPropertyFetch>
<errorLevel type="suppress">
<file name="app/Services/VCalendar/ImportTask.php" />
</errorLevel>
</UndefinedPropertyFetch>
<UndefinedMagicMethod>
<errorLevel type="suppress">
<file name="app/Traits/Searchable.php" />
<file name="app/Http/Controllers/Api/ApiContactController.php" />
</errorLevel>
</UndefinedMagicMethod>
<InvalidReturnType>
<errorLevel type="suppress">
<file name="app/Http/Controllers/Auth/RegisterController.php" />
</errorLevel>
</InvalidReturnType>
<PossibleRawObjectIteration>
<errorLevel type="suppress">
<file name="app/Helpers/AuditLogHelper.php" />
</errorLevel>
</PossibleRawObjectIteration>
<RawObjectIteration>
<errorLevel type="suppress">
<file name="app/Http/Controllers/Contacts/ContactAuditLogController.php" />
</errorLevel>
</RawObjectIteration>
<TooManyTemplateParams errorLevel="info" />
<NonInvariantDocblockPropertyType errorLevel="info" />
<InvalidScope>
<errorLevel type="suppress">
<file name="routes/console.php" />
</errorLevel>
</InvalidScope>
<ParamNameMismatch>
<errorLevel type="suppress">
<file name="app/Http/Controllers/DAV/Backend/CardDAV/AddressBookRoot.php" />
</errorLevel>
</ParamNameMismatch>
</issueHandlers>
</psalm>