[5.5] Add Detection of dont-discover
in Packages
#20921
Merged
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.
dont-discover
In PackagesGoal
Allow packages to declare other packages as non-discoverable in order to prevent conflicts.
Problem
Packages that have auto-discoverable packages as dependencies, and which purpose it is to extend those packages, can be over-riden (depending on load order) by their auto-discovered dependency. Most of the time this is not an issue, but is very much an issue when the alias being declared are the same. This is necessary so that the extending package can act as a drop-in replacement of the dependency package.
Solution
Allow packages to declare
dont-discover
packages in theircomposer.json
to prevent from being over-riden.