ibexa/rector
ibexa/rector provides Rector rules for automatically upgrading Ibexa DXP projects between versions. Install as a dev dependency (composer require --dev ibexa/rector:^5.0), configure rector.php with an IbexaSetList set such as IBEXA_50, then run Rector on your source and tests.
Architecture fit
ibexa/rector is a first-party Ibexa DXP developer tooling package: a curated bundle of Rector rules that mechanically rewrite Ibexa DXP application code between major versions. There is no service provider, no runtime footprint, no facade, and no integration surface with a Laravel application.IbexaSetList::IBEXA_50) and applied to declared paths. That means we can scope a refactor to one target version and one directory rather than a repo-wide rewrite — a favourable property for phased delivery and for keeping diffs reviewable.Integration feasibility
composer require --dev ibexa/rector:^5.0, a single rector.php at project root declaring paths and a rule set, then php ./bin/rector process <dir>. No infrastructure, secrets, or deployment changes.^5.0 against a 4.6 codebase is a misconfiguration, not a supported downgrade path.Technical risk
--dry-run plus manual diff review must be mandatory rather than optional.Key questions
Stack fit
--dev dependency, it never ships to production images. That keeps the security and supply-chain surface effectively confined to developer machines and CI runners.Migration path
rector.php in the Ibexa project only, with withPaths() scoped to our own src and tests — explicitly excluding vendor and any first-party bundles we do not own.--dry-run and record the diff statistics (files touched, hunks per rule set). That baseline is the TPM's burndown metric and the estimate correction for the upgrade project.main. Commit per rule set, not per file, so a failing test can be bisected to a specific transformation.Compatibility
Sequencing
Maintenance
rector.php config, since path scoping errors are the most common self-inflicted problem.Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?