driftingly/rector-laravel

Rector upgrades rules for Laravel Framework

Installs: 3 534 183

Dependents: 71

Suggesters: 0

Security: 0

Stars: 575

Watchers: 11

Forks: 54

Open Issues: 12

Type:rector-extension


README

Rector Rules for Laravel

Tests Code Analysis Packagist Downloads Packagist Version

See available Laravel rules

Install

This package is a Rector extension developed by the Laravel community.

Rules for additional first party packages are included as well e.g. Cashier and Livewire.

Install as a dev dependency:

composer require --dev driftingly/rector-laravel

Automate Laravel Upgrades

To add a set to your config, use RectorLaravel\Set\LaravelLevelSetList and pick the constant that matches your target version. Sets for higher versions include sets for lower versions.

<?php declare(strict_types=1);

use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelLevelSetList;

return RectorConfig::configure()
    ->withSets([
        LaravelLevelSetList::UP_TO_LARAVEL_110,
    ]);

The sets in RectorLaravel\Set\LaravelSetList only contain changes related to a specific version upgrade. For example, the rules in LaravelSetList::LARAVEL_110 apply when upgrading from Laravel 10 to Laravel 11.

Additional Sets

To improve different aspects of your code, use the sets in RectorLaravel\Set\LaravelSetList.

<?php declare(strict_types=1);

use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelSetList;

return RectorConfig::configure()
    ->withSets([
        LaravelSetList::LARAVEL_CODE_QUALITY,
        LaravelSetList::LARAVEL_COLLECTION,
        ...
    ]);

Contributors

Thank you everyone who works so hard on improving this package:

A special thank you to Caneco for designing the logo!

Hire The Rector Team

Rector is a tool that we develop and share for free, so anyone can automate their refactoring. But not everyone has dozens of hours to understand complexity of abstract-syntax-tree in their own time. That's why we provide commercial support - to save your time.

Would you like to apply Rector on your code base but don't have time for the struggle with your project? Hire the Rector team to get there faster.

Learn Rector Faster

Not everyone has time to understand Rector and AST complexity. You can speed up the process by reading the book The Power of Automated Refactoring. Not only will it help you learn and understand Rector but it supports the project as well.