<?xml version="1.0"?>
<psalm
    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"
>
    <projectFiles>
        <directory name="src"/>
        <ignoreFiles>
            <directory name="vendor"/>
        </ignoreFiles>
    </projectFiles>

    <issueHandlers>
        <LessSpecificReturnType errorLevel="error"/>

        <!-- level 3 issues - slightly lazy code writing, but provably low false-negatives -->

        <DeprecatedMethod errorLevel="error"/>
        <DeprecatedProperty errorLevel="error"/>
        <DeprecatedClass errorLevel="error"/>
        <DeprecatedConstant errorLevel="error"/>
        <DeprecatedInterface errorLevel="error"/>
        <DeprecatedTrait errorLevel="error"/>

        <InternalMethod errorLevel="error"/>
        <InternalProperty errorLevel="error"/>
        <InternalClass errorLevel="error"/>

        <MissingClosureReturnType errorLevel="error"/>
        <MissingReturnType errorLevel="error"/>
        <MissingPropertyType errorLevel="error"/>
        <InvalidDocblock 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="error"/>

        <RawObjectIteration errorLevel="error"/>

        <InvalidStringClass errorLevel="error"/>

        <NoInterfaceProperties errorLevel="info" />
    </issueHandlers>
<plugins><pluginClass class="Psalm\PhpUnitPlugin\Plugin"/></plugins></psalm>
