Вышла новая версия Rector 1.0

Дата публикации: 2024-02-08
Просмотры: 216

Вышла первая стабильная версия Rector 1.0.
В этом версии представлены новые функции, которые помогают писать собственные правила, добавлять Rector в CI и добавлять Rector в любой устаревший проект в целом.

Вышла новая версия Rector 1.0

Некоторые функции частично доступны в предыдущей версии, но хотелось бы выделить их, поскольку начиная с версии Rector 1.0 вы можете использовать их все вместе.

Config с автозаполнением

Если вы запускаете Rector впервые, он создаст rector.php для конфигурацию с путями вашего проекта. Раньше использовалиcm различные ссылки на константы классов для добавления часто используемых наборов правил. Это требовало знаний об этих классах и часто упускалось.

Иизменилось это для работы с одним классом конфигурации. Он обеспечивает автозаполнение доступных наборов, включая атрибуты:

use Rector\Config\RectorConfig;

return RectorConfig::configure()
    ->withPreparedSets(codeQuality: true, codingStyle: true)
    ->withAttributesSets(symfony: true, doctrine: true)
    ->withPaths([
        __DIR__ . '/src',
        __DIR__ . '/tests',
    ])
    ->withRootFiles();

PHP автоматическая конфигурация

Чтобы соответствовать версии PHP, теперь вы можете использовать один метод:

use Rector\Config\RectorConfig;

return RectorConfig::configure()
    ->withPhpSets();

Rector узнает о версии PHP из вашего composer.json:

{
    "require": {
        "php": "^8.0"
    }
}

Rector всегда будет синхронизироваться с необходимой вам версией PHP. Больше нет необходимости дважды проверять rector.php конфигурацию.

Оптимизация интеграции с проектами

Добавлены 2 экспериментальных метода, которые упрощают интеграцию Rector в новые проекты. Раньше вы могли запустить полное объявление типа или прочитать набор кода, увидеть 1000 измененных файлов и закрыть его, будучи перегруженным. Вместо этого хочется действовать медленно, как это делается и с нашими пользовательскими обновлениями:

use Rector\Config\RectorConfig;

return RectorConfig::configure()
     ->withTypeCoverageLevel(10)
     ->withDeadCodeLevel(10);

Теперь вы можете улучшать свою кодовую базу по одному правилу за раз. Правила отсортированы от самых простых для интеграции, например, добавления void в замыкание, до более сложных. Таким образом, вы сможете улучшать свою кодовую базу в удобном для вас темпе. Порядок правил, скорее всего, изменятся.

Новые и улучшенные команды

Добавлена новая команда для создания простых файлов и структуры пользовательских правил:

vendor/bin/rector custom-rule

Вызовите команду, введите имя правила и правило, для вас сгенерируется его тест и автозагрузка композитора. Таким образом, вы можете сосредоточиться на содержании refactor() метода.

Улучшена setup-ci команда, которая генерирует установочные файлы Github и Gitlab CI, чтобы вы могли позволить Rector работать за вас:

vendor/bin/rector setup-ci

Команда выполняет общую настройку, а затем помогает зарегистрировать необходимый доступ.

Наслаждайтесь первым крупным релизом Rector! Приятного кодирования!


Ссылка на источник: https://getrector.com/blog/rector-1-0-is-here

Поделиться статьей:

Комментарии:

Авторизуйтесь, для того, чтобы оставить комментарий. Войти на сайт
Подписка на новости
Узнавайте о новых статьях первыми.
Профиль