8000 GitHub - SerendipityHQ/rector-config: Custom configuration for Rector used by Serendipity HQ
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

SerendipityHQ/rector-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Serendipity HQ Rector Configuration

A predefined configuration used in Serendipity HQ's projects.

Current Status

Phan PHPStan PSalm PHPUnit Composer PHP CS Fixer Rector


Do you like this library?
LEAVE A ★

or run
composer global require symfony/thanks && composer thanks
to say thank you to all libraries you use in your current project, this included!


Install monolog-html-line-formatter via Composer

$ composer require serendipity_hq/rector-config

This library follows the http://semver.org/ versioning conventions.

How to use Serendipity HQ Rector Config

<?php

declare(strict_types = 1);

use SerendipityHQ\Integration\Rector\SerendipityHQ;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;

return static function (ContainerConfigurator $containerConfigurator) : void {
    $parameters = $containerConfigurator->parameters();

    $parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_81);
    $parameters->set(Option::PATHS, [__DIR__ . '/src', __DIR__ . '/tests']);
    $parameters->set(Option::BOOTSTRAP_FILES, [__DIR__ . '/vendor-bin/phpunit/vendor/autoload.php']);

    // Import directly the configuration from Serendipity HQ Rector Config
    $containerConfigurator->import(SerendipityHQ::SHQ_SYMFONY_APP);

    // Import the excluded rectors
    $toSkip = SerendipityHQ::buildToSkip(SerendipityHQ::SHQ_SYMFONY_APP_SKIP);
    
    // Set the rectors to exclude
    $parameters->set(Option::SKIP, $toSkip);
};

The method SerendipityHQ::buildToSkip() is variadic: it accepts as many arrays as you need.

Use it to exclude the rectors you don't want to be applied in your project.

If you want to exclude other rectors other than the ones excluded by the predefined config, simply create an array in your rector.php configuration file and pass it to SerendipityHQ::buildToSkip():

<?php

declare(strict_types = 1);

use SerendipityHQ\Integration\Rector\SerendipityHQ;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;

return static function (ContainerConfigurator $containerConfigurator) : void {
    ...
    
    $othersToSkip = [
        \Rector\To\Exclude\Rector::class
    ];

    // Import the excluded rectors
    $toSkip = SerendipityHQ::buildToSkip(SerendipityHQ::SHQ_SYMFONY_APP_SKIP, $othersToSkip);
    
    // Set the rectors to exclude
    $parameters->set(Option::SKIP, $toSkip);
};

Do you like this library?
LEAVE A ★

or run
composer global require symfony/thanks && composer thanks
to say thank you to all libraries you use in your current project, this included!


About

Custom configuration for Rector used by Serendipity HQ

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

0