[DX] Add version-based set loading based on installed package version #6428
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow up to #5976
Packages that ship lot of versions, can have lot of sets to apply. E.g. twig/twig has 6 sets in Rector, couple for v1 and couple for v2. At the moment, those sets have to be added manually to run.
This is wrong for couple reasons
What should happen instead?
composer.json
version oftwig/twig
If we upgrade to Twig 3 later on, Rector should pick up sets for Twig 3 for us. We should not maintain the
rector.php
at all.Introducing
withComposerBased()
🎉Rector will go through all Twig sets, check our installed version and apply only sets relevant to our specific version ✔️