Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Typo3 Rector

Typo3 Rector Laravel Package

ssch/typo3-rector

TYPO3 Rector applies instant upgrades and refactoring to TYPO3 website and extension code, easing migrations between releases and removing deprecations. Extending Rector, it supports PHP 5.3+ and requires PHP 7.4+. Always run on development environments under version control, never production.

View on GitHub
Deep Wiki
Context7

Rector for TYPO3

Frequently asked questions about Typo3 Rector
Is ssch/typo3-rector a Laravel package?
No. It is a TYPO3-specific rule set built on top of Rector, targeting TYPO3 website and extension code such as t3lib_div, TYPO3_CONF_VARS and ext_emconf.php. Laravel teams only benefit from it when a repository contains isolated TYPO3 extensions or TYPO3-Laravel hybrid modules. On a pure Laravel codebase it adds no value and should be dropped from your dependency manifest.
How do I install TYPO3 Rector with Composer?
Install it as a dev dependency with composer require --dev ssch/typo3-rector, then generate a config file by running vendor/bin/typo3-init. The package requires PHP 7.4 or newer and also runs on PHP 8. Keep it in require-dev so it never ships to production.
Can I run TYPO3 Rector against my Laravel application code?
You can point it at any directory, but the shipped rules target TYPO3 APIs, so on Laravel code they either no-op or fail on unknown TYPO3 classes such as TYPO3\CMS\Core\Utility\GeneralUtility. It also ignores Laravel-specific deprecations like facade static calls or App::make(). Restrict it to genuine TYPO3 paths with withPaths() in your .rector.php config.
Which PHP and Laravel versions does ssch/typo3-rector support?
The package requires PHP 7.4+ and runs fine on PHP 8.x, while Rector itself can parse PHP 5.3+ syntax. There is no Laravel version support matrix because the rules are TYPO3 rules, not Laravel rules. The version axis that matters is TYPO3, with migration sets covering TYPO3 v7 through v14.
How do I run TYPO3 Rector safely without breaking my code?
Never run it on production. Run vendor/bin/rector process --dry-run first, review the diff, and only then execute the real process inside a development environment under Git. Commit one rule or rule group at a time so a bad refactor is easy to revert, and test on staging before releasing.
How do I exclude Laravel directories from the TYPO3 Rector refactoring?
Create a .rector.php config and use withPaths() to target only your TYPO3 extension directories, or use skip() to exclude framework and app paths. Explicitly disable TYPO3-specific rules outside those paths so they cannot be misapplied. This keeps diffs limited to code you actually intend to migrate.
What is the CodeQuality preset that is enabled by default in v3.16.0?
A structarmed ^0.17 dependency bump turns the CodeQuality preset on by default, widening rule scope from TYPO3 version migrations to generic code-quality refactors. In a hybrid TYPO3-Laravel module that means you may see diffs in shared code that have nothing to do with TYPO3. If you only want migration rules, narrow or disable the preset in your config and agree the policy with your team.
How should I test TYPO3 Rector changes in CI?
Run the dry-run in CI to detect when a new rule would change files, and pair it with PHPStan or Larastan plus PHP-CS-Fixer for Laravel-side checks. Review the generated diff in a pull request instead of committing results automatically. In hybrid repos, keep the TYPO3 refactor job separate from your Laravel test suite job.
What are the alternatives for refactoring Laravel code?
For Laravel upgrades use Laravel Shift or Rector with Laravel-oriented rule sets, paired with PHPStan/Larastan and PHP-CS-Fixer. TYPO3 Rector is the reference implementation for TYPO3 migrations only, and its Extbase annotation-to-attribute rule is a useful template if you build custom Laravel attribute rules. There is no off-the-shelf Laravel coverage in this package.
How often is ssch/typo3-rector released, and should I pin the version?
Releases are frequent, with v3.14.1, v3.15.1 and v3.16.0 shipping in a short window, so minors can appear weekly. Pin an exact tag such as 3.16.0 instead of a floating ^3.16 constraint and review upgrades on a monthly cadence. Also verify the structarmed ^0.17 floor resolves against your pinned rector/rector and PHP-CS-Fixer versions before upgrading.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package