A qualidade e a manutenibilidade do código são aspectos cruciais no desenvolvimento de software moderno. Neste post, vou mostrar como configurar o Rector para automatizar a refatoração de código em um projeto Laravel, combinado com um fluxo de trabalho CI/CD simplificado usando GitHub Actions.
O que é Rector?
Rector é uma ferramenta de refatoração PHP poderosa que automatiza atualizações tediosas e melhorias na qualidade do código. Se você está migrando para uma nova versão do PHP, atualizando seu framework Laravel ou garantindo que seu código atenda aos padrões modernos, o Rector simplifica essas tarefas com o mínimo de esforço manual.
Por que usar Rector no seu projeto Laravel?
- Automatiza Atualizações: Mantenha sua base de código compatível com as versões mais recentes do Laravel ou PHP.
- Melhora a Qualidade do Código: Aplica regras para limpar e otimizar seu código automaticamente.
- Economiza Tempo: Refatora o código em minutos, permitindo que os desenvolvedores se concentrem na lógica de negócios.
Configurando Rector no seu projeto Laravel
Passo 1: Instale o Rector e as regras específicas do Laravel
Instale o Rector e sua extensão Laravel usando Composer:
composer require rector/rector --dev
composer require driftingly/rector-laravel --dev
Passo 2: Configure o Rector
Crie um arquivo de configuração rector.php
na raiz do seu projeto. Abaixo está um exemplo de configuração adaptado para projetos Laravel:
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelLevelSetList;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->paths([
__DIR__.'/app',
__DIR__.'/config',
__DIR__.'/database',
__DIR__.'/resources',
__DIR__.'/routes',
__DIR__.'/tests',
]);
$rectorConfig->sets([
LaravelLevelSetList::UP_TO_LARAVEL_110,
]);
};
Passo 3: Teste o Rector localmente
Execute o Rector localmente para garantir que tudo está configurado corretamente:
vendor/bin/rector process --dry-run --ansi
O flag --dry-run
visualiza as alterações sem modificar os arquivos.
Automatizando o Rector com GitHub Actions
Para manter sua base de código Laravel refatorada e atualizada automaticamente, vamos configurar um fluxo de trabalho do GitHub Actions.
Passo 1: Crie um arquivo de fluxo de trabalho do GitHub
Adicione um arquivo .github/workflows/rector.yml
ao seu repositório:
name: Rector CI
on:
push:
branches:
- main
pull_request:
branches:
- '*'
jobs:
rector:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
- name: Install dependencies
run: composer install --no-progress --no-suggest --prefer-dist
- name: Run Rector
run: vendor/bin/rector process --ansi
Conclusão
Com Rector e GitHub Actions, seu projeto Laravel permanece moderno, limpo e sustentável. Esta configuração automatizada economiza horas de refatoração manual, mantendo sua base de código alinhada com os padrões mais recentes. Pronto para implementar o Rector em seu projeto? Deixe-me saber como vai ou sinta-se à vontade para compartilhar sua experiência!
Feliz codificação! 🚀