serendipity_hq / rector-config
Custom configuration for Rector used by Serendipity HQ.
Installs: 747 567
Dependents: 24
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires (Dev)
- php: ^7.4|^8.0
- rector/rector: ^1.2
- symfony/dependency-injection: ^6.0|^7.0
This package is auto-updated.
Last update: 2024-12-20 10:04:15 UTC
README
Serendipity HQ Rector Configuration
A predefined configuration used in Serendipity HQ's projects.
Current Status
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!