Skip to content

Instantly share code, notes, and snippets.

@beberlei
Created February 25, 2020 13:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save beberlei/de6d183c9a5b2b8fafa85f5669078c77 to your computer and use it in GitHub Desktop.
Save beberlei/de6d183c9a5b2b8fafa85f5669078c77 to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<psalm
totallyTyped="false"
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"
>
<projectFiles>
<directory name="components/env" />
<directory name="components/profiler/src/main/" />
<directory name="components/utils" />
<directory name="components/replicator/src" />
<ignoreFiles>
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
<stubs>
<file name="tools/stubs/imagick.php" />
<file name="tools/stubs/memcached.php" />
<file name="tools/stubs/psalm_stubs.php" />
<file name="vendor/beberlei/hdrhistogram-php-stubs/src/functions.php" />
</stubs>
<issueHandlers>
<UndefinedDocblockClass>
<errorLevel type="suppress">
<referencedClass name="Monolog\Boolean" />
<referencedClass name="Symfony\Component\Form\FormViewInterface" />
<referencedClass name="Buzz\Message\Boolean" />
</errorLevel>
</UndefinedDocblockClass>
<UndefinedClass>
<errorLevel type="suppress">
<referencedClass name="Monolog\Boolean" />
<referencedClass name="Symfony\Component\Form\FormViewInterface" />
<referencedClass name="PHPUnit\Framework\TestCase" />
</errorLevel>
</UndefinedClass>
<LessSpecificReturnType errorLevel="info" />
<!-- level 3 issues - slightly lazy code writing, but provably low false-negatives -->
<DeprecatedMethod errorLevel="info" />
<DeprecatedProperty errorLevel="info" />
<DeprecatedClass errorLevel="info" />
<DeprecatedConstant errorLevel="info" />
<DeprecatedInterface errorLevel="info" />
<DeprecatedTrait errorLevel="info" />
<InternalMethod errorLevel="info" />
<InternalProperty errorLevel="info" />
<InternalClass errorLevel="info" />
<MissingClosureReturnType errorLevel="suppress" />
<MissingReturnType errorLevel="error" />
<MissingPropertyType errorLevel="error" />
<InvalidDocblock errorLevel="error" />
<MisplacedRequiredParam errorLevel="error" />
<PropertyNotSetInConstructor errorLevel="error" />
<MissingConstructor errorLevel="error" />
<MissingClosureParamType errorLevel="error" />
<MissingParamType errorLevel="error" />
<RedundantCondition errorLevel="error" />
<DocblockTypeContradiction errorLevel="error" />
<RedundantConditionGivenDocblockType errorLevel="error" />
<UnresolvableInclude errorLevel="info" />
<RawObjectIteration errorLevel="error" />
<InvalidStringClass errorLevel="info" />
<!-- level 4 issues - points to possible deficiencies in logic, higher false-positives -->
<MoreSpecificReturnType errorLevel="error" />
<LessSpecificReturnStatement errorLevel="error" />
<TypeCoercion errorLevel="error" />
<PossiblyFalseArgument errorLevel="error" />
<PossiblyFalseIterator errorLevel="error" />
<PossiblyFalseOperand errorLevel="error" />
<PossiblyFalsePropertyAssignmentValue errorLevel="error" />
<PossiblyFalseReference errorLevel="error" />
<PossiblyInvalidArgument errorLevel="error" />
<PossiblyInvalidArrayAccess errorLevel="error" />
<PossiblyInvalidArrayAssignment errorLevel="error" />
<PossiblyInvalidArrayOffset errorLevel="error" />
<PossiblyInvalidCast errorLevel="error" />
<PossiblyInvalidFunctionCall errorLevel="error" />
<PossiblyInvalidIterator errorLevel="error" />
<PossiblyInvalidMethodCall errorLevel="error" />
<PossiblyInvalidOperand errorLevel="error" />
<PossiblyInvalidPropertyAssignment errorLevel="error" />
<PossiblyInvalidPropertyAssignmentValue errorLevel="error" />
<PossiblyInvalidPropertyFetch errorLevel="error" />
<PossiblyNullArgument errorLevel="error" />
<PossiblyNullArrayAccess errorLevel="error" />
<PossiblyNullArrayAssignment errorLevel="error" />
<PossiblyNullArrayOffset errorLevel="error" />
<PossiblyNullFunctionCall errorLevel="error" />
<PossiblyNullIterator errorLevel="error" />
<PossiblyNullOperand errorLevel="error" />
<PossiblyNullPropertyAssignment errorLevel="error" />
<PossiblyNullPropertyAssignmentValue errorLevel="error" />
<PossiblyNullPropertyFetch errorLevel="error" />
<PossiblyNullReference errorLevel="error" />
<PossiblyUndefinedGlobalVariable errorLevel="error" />
<PossiblyUndefinedVariable errorLevel="error" />
<PossiblyUndefinedArrayOffset errorLevel="error" />
<PossiblyUndefinedMethod errorLevel="error" />
<!-- level 5 issues - should be avoided at mosts costs... -->
<ForbiddenCode errorLevel="error" />
<ImplicitToStringCast errorLevel="error" />
<InvalidScalarArgument errorLevel="error" />
<InvalidToString errorLevel="info" />
<InvalidOperand errorLevel="error" />
<NoInterfaceProperties errorLevel="error" />
<TooManyArguments errorLevel="error" />
<TypeDoesNotContainType errorLevel="error" />
<TypeDoesNotContainNull errorLevel="error" />
<MissingDocblockType errorLevel="error" />
<ImplementedReturnTypeMismatch errorLevel="error" />
<ImplementedParamTypeMismatch errorLevel="error" />
<!-- level 6 issues - really bad things -->
<InvalidNullableReturnType errorLevel="error" />
<NullableReturnStatement errorLevel="error" />
<InvalidFalsableReturnType errorLevel="error" />
<FalsableReturnStatement errorLevel="error" />
<MoreSpecificImplementedParamType errorLevel="error" />
<LessSpecificImplementedReturnType errorLevel="error" />
<UndefinedInterfaceMethod errorLevel="error" />
<!-- level 7 issues - even worse -->
<UndefinedThisPropertyAssignment errorLevel="error" />
<UndefinedPropertyAssignment errorLevel="error" />
<UndefinedThisPropertyFetch errorLevel="error" />
<UndefinedPropertyFetch errorLevel="error" />
<InvalidReturnStatement errorLevel="error" />
<InvalidReturnType errorLevel="error" />
<InvalidArgument errorLevel="error" />
<InvalidPropertyAssignmentValue errorLevel="error" />
<InvalidArrayOffset errorLevel="error" />
<InvalidArrayAssignment errorLevel="error" />
<InvalidArrayAccess errorLevel="error" />
<InvalidClone errorLevel="error" />
<!-- level 8 issues - some fatal errors in PHP -->
<ReservedWord errorLevel="info" />
<MethodSignatureMismatch errorLevel="error" />
<OverriddenMethodAccess errorLevel="info" />
<InaccessibleProperty errorLevel="info" />
</issueHandlers>
</psalm>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment