This project lets you apply instant upgrades and refactoring to your TYPO3 Website and extension code, making it easier to migrate between TYPO3 releases and keeping your code free from deprecation.
It extends the Rector project, which aims to provide instant upgrades and refactoring for any PHP code (5.3+).
Warning
❗ Never run this tool on production! Always run it on development environment where code is under version control (e.g. git). Review and test changes before releasing to production. Code migrations could potentially break your website!
URL | |
---|---|
Repository: | https://github.com/sabbelasichon/typo3-rector |
Documentation: | https://github.com/sabbelasichon/typo3-rector/tree/main/docs |
Packagist: | https://packagist.org/packages/ssch/typo3-rector |
Website: | https://www.typo3-rector.com |
TYPO3 Rector requires at least PHP 7.4 but is also compatible with PHP 8. You can find more details about the installation in our installation documentation.
You can install the package via composer:
composer require --dev ssch/typo3-rector
You can create the rector config file with:
vendor/bin/typo3-init
To see the code migrations that Rector will do, run:
vendor/bin/rector process --dry-run
and when you want to execute the migrations run:
vendor/bin/rector process
v1 | v2, v3 | |
---|---|---|
TYPO3 versions | 7 - 12 (not all rules) | 10 - 13 rules |
file support | all files (typoscript, flexform, ...) | only PHP files |
Please see CONTRIBUTING for details.
Help us out and sponsor our work! Visit our website typo3-rector.com for more info.
This makes it possible to invest more time to keep the project alive and create even more rules for automated migration.
Please post questions in the TYPO3 Slack channel #ext-typo3-rector or feel free to open an issue or start a discussion on GitHub.
Many thanks to Tomas Votruba and Abdul Malik Ikhsan for maintaining Rector. Many thanks to All Contributors.
Follow us on X:
The MIT License (MIT). Please see License File for more information.
Rector uses nikic/php-parser, built on technology called an abstract syntax tree (AST). An AST doesn't know about spaces and when written to a file it produces poorly formatted code in both PHP and docblock annotations. That's why your project needs to have a coding standard tool and a set of formatting rules, so it can make Rector's output code nice and shiny again.
We're using ECS with this setup.