rector/docs/how_to_ignore_rule_or_paths.md
Tomas Votruba 0dc28df936 Updated Rector to commit 8d92c466fd
8d92c466fd [DX] Use RectorConfig in configs (#2063)
2022-04-12 11:52:08 +00:00

1.3 KiB

How To Ignore Rule or Paths

Preferred Way: Config

use Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector;
use Rector\Config\RectorConfig;

return static function (RectorConfig $rectorConfig): void {
    // is there a file you need to skip?
    $rectorConfig->skip([
        // single file
        __DIR__ . '/src/ComplicatedFile.php',
        // or directory
        __DIR__ . '/src',
        // or fnmatch
        __DIR__ . '/src/*/Tests/*',

        // is there single rule you don't like from a set you use?
        SimplifyIfReturnBoolRector::class,

        // or just skip rule in specific directory
        SimplifyIfReturnBoolRector::class => [
            // single file
            __DIR__ . '/src/ComplicatedFile.php',
            // or directory
            __DIR__ . '/src',
            // or fnmatch
            __DIR__ . '/src/*/Tests/*',
        ],
    ]);
};

In a File

For in-file exclusion, use @noRector \Rector\SomeClass\NameRector annotation:

<?php

declare(strict_types=1);

class SomeClass
{
    /**
     * @noRector
     */
    public const NAME = '102';

    /**
     * @noRector
     */
    public function foo(): void
    {
        /** @noRector \Rector\DeadCode\Rector\Plus\RemoveDeadZeroAndOneOperationRector */
        round(1 + 0);
    }
}