<?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"
    resolveFromConfigFile="true"
    errorLevel="1"
    errorBaseline="./psalm-baseline.xml"
    findUnusedBaselineEntry="0"
    findUnusedCode="0"
>
    <projectFiles>
        <directory name="../../../src/" />

        <ignoreFiles allowMissingFiles="true">
            <directory name="../../../vendor/" />
        </ignoreFiles>
    </projectFiles>

    <forbiddenFunctions>
        <function name="dd" />
        <function name="die" />
        <function name="dump" />
        <function name="exit" />
        <function name="print_r" />
        <function name="var_dump" />
    </forbiddenFunctions>

    <issueHandlers>
        <!-- Workaroud due to double instantiated autoloader (https://youtrack.jetbrains.com/issue/WI-57977#focus=Comments-27-4635845.0-0) -->
        <DuplicateClass errorLevel="suppress" />

        <DeprecatedMethod errorLevel="info" />
        <DeprecatedProperty errorLevel="info" />
        <DeprecatedFunction errorLevel="info" />

        <MissingClassConstType errorLevel="suppress" />
    </issueHandlers>

    <plugins>
        <pluginClass class="NetInventors\Shopware6PsalmPlugins\MigrationUpdateDestructiveChecker\MigrationUpdateDestructiveChecker"/>
        <pluginClass class="NetInventors\Shopware6PsalmPlugins\RequireOnceEnforcer\RequireOnceEnforcer"/>
        <pluginClass class="NetInventors\Shopware6PsalmStubs\Stubs" />
    </plugins>
</psalm>
