mirror of
https://github.com/ivuorinen/monolog-gdpr-filter.git
synced 2026-02-06 01:46:39 +00:00
* feat: upgrade min php to 7.4, upgrade packages * chore: update ci/cd, docs, supporting config to php 8.4 * chore: update rest of the docs, supporting config to php 8.4
146 lines
4.6 KiB
XML
146 lines
4.6 KiB
XML
<?xml version="1.0" ?>
|
|
<psalm
|
|
errorLevel="5"
|
|
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"
|
|
phpVersion="8.4"
|
|
noCache="false"
|
|
findUnusedPsalmSuppress="true"
|
|
skipChecksOnUnresolvableIncludes="true"
|
|
allowPhpStormGenerics="true"
|
|
allowStringToStandInForClass="true"
|
|
memoizeMethodCallResults="true"
|
|
hoistConstants="true"
|
|
addParamTypehint="false"
|
|
checkForThrowsDocblock="false"
|
|
checkForThrowsInGlobalScope="false"
|
|
sealAllMethods="false"
|
|
sealAllProperties="false"
|
|
>
|
|
<projectFiles>
|
|
<directory name="src" />
|
|
<directory name="examples" />
|
|
<directory name="config" />
|
|
<directory name="tests" />
|
|
<ignoreFiles>
|
|
<directory name="vendor" />
|
|
<directory name="src/Laravel" />
|
|
</ignoreFiles>
|
|
</projectFiles>
|
|
|
|
<plugins>
|
|
<pluginClass class="Psalm\PhpUnitPlugin\Plugin" />
|
|
</plugins>
|
|
|
|
<issueHandlers>
|
|
<!-- Laravel function compatibility -->
|
|
<UndefinedFunction>
|
|
<errorLevel type="suppress">
|
|
<referencedFunction name="config" />
|
|
<referencedFunction name="app" />
|
|
<referencedFunction name="now" />
|
|
<referencedFunction name="config_path" />
|
|
<referencedFunction name="env" />
|
|
</errorLevel>
|
|
</UndefinedFunction>
|
|
|
|
<!-- Complex return type issues in GdprProcessor -->
|
|
<InvalidReturnType>
|
|
<errorLevel type="suppress">
|
|
<file name="src/GdprProcessor.php" />
|
|
</errorLevel>
|
|
</InvalidReturnType>
|
|
|
|
<!-- Override attributes - suppress for now to avoid breaking changes -->
|
|
<MissingOverrideAttribute errorLevel="suppress" />
|
|
|
|
<!-- Class finalization - suppress to avoid API breaking changes -->
|
|
<ClassMustBeFinal errorLevel="suppress" />
|
|
|
|
<!-- Mixed types - necessary for flexible APIs -->
|
|
<MixedArgument errorLevel="suppress" />
|
|
<MixedAssignment errorLevel="suppress" />
|
|
<MixedMethodCall errorLevel="suppress" />
|
|
<MixedPropertyFetch errorLevel="suppress" />
|
|
<MixedArrayAccess errorLevel="suppress" />
|
|
|
|
<!-- Missing type annotations - backward compatibility -->
|
|
<MissingReturnType errorLevel="suppress" />
|
|
<MissingParamType errorLevel="suppress" />
|
|
<MissingPropertyType errorLevel="suppress" />
|
|
|
|
<!-- Prevent Psalm from adding complex nested return types -->
|
|
<MismatchingDocblockReturnType errorLevel="suppress" />
|
|
<MoreSpecificReturnType errorLevel="suppress" />
|
|
<LessSpecificReturnStatement errorLevel="suppress" />
|
|
|
|
<!-- Test-specific suppressions -->
|
|
|
|
<!-- Redundant test assertions - provide defensive runtime validation -->
|
|
<RedundantCondition>
|
|
<errorLevel type="suppress">
|
|
<directory name="tests" />
|
|
</errorLevel>
|
|
</RedundantCondition>
|
|
<RedundantConditionGivenDocblockType>
|
|
<errorLevel type="suppress">
|
|
<directory name="tests" />
|
|
</errorLevel>
|
|
</RedundantConditionGivenDocblockType>
|
|
<ArgumentTypeCoercion>
|
|
<errorLevel type="suppress">
|
|
<directory name="tests" />
|
|
</errorLevel>
|
|
</ArgumentTypeCoercion>
|
|
|
|
<!-- Test validation issues -->
|
|
<InvalidArgument>
|
|
<errorLevel type="suppress">
|
|
<directory name="tests" />
|
|
</errorLevel>
|
|
</InvalidArgument>
|
|
|
|
<!-- Test helper methods in anonymous classes -->
|
|
<UndefinedMethod>
|
|
<errorLevel type="suppress">
|
|
<file name="tests/Strategies/AbstractMaskingStrategyTest.php" />
|
|
</errorLevel>
|
|
</UndefinedMethod>
|
|
|
|
<!-- Test function calls -->
|
|
<UndefinedFunction>
|
|
<errorLevel type="suppress">
|
|
<directory name="tests" />
|
|
</errorLevel>
|
|
</UndefinedFunction>
|
|
|
|
<!-- Test utility calls -->
|
|
<UnusedFunctionCall>
|
|
<errorLevel type="suppress">
|
|
<directory name="tests" />
|
|
</errorLevel>
|
|
</UnusedFunctionCall>
|
|
|
|
<!-- Laravel-specific patterns -->
|
|
<!-- (Laravel directory is excluded from scanning) -->
|
|
|
|
<!-- Intentional design choices -->
|
|
<PropertyNotSetInConstructor errorLevel="suppress" />
|
|
<PossiblyUnusedMethod errorLevel="suppress" />
|
|
<PossiblyUnusedProperty errorLevel="suppress" />
|
|
|
|
<!-- Array access patterns for configuration -->
|
|
<PossiblyUndefinedArrayOffset errorLevel="suppress" />
|
|
<PossiblyInvalidArrayOffset errorLevel="suppress" />
|
|
|
|
<!-- Closure patterns in callbacks -->
|
|
<UnusedClosureParam errorLevel="suppress" />
|
|
<MissingClosureParamType errorLevel="suppress" />
|
|
<MissingClosureReturnType errorLevel="suppress" />
|
|
|
|
<!-- String manipulation patterns -->
|
|
<PossiblyInvalidCast errorLevel="suppress" />
|
|
</issueHandlers>
|
|
</psalm>
|