A production-quality Composer plugin that automatically detects and resolves dependency conflicts, with a strong focus on Drupal projects.
- Programmatic Conflict Analysis: Uses Composer's internal solver to detect conflicts accurately.
- Dependency Graph Building: Maps out the relationships between conflicting packages.
- Minimal Resolution Planning: Computes the smallest set of version changes required to fix conflicts.
- Risk Assessment: Classifies the risk level of suggested changes (LOW, MEDIUM, HIGH, EXTREME).
- Drupal Integration: Specific rules for
drupal/coreanddrupal/core-recommended. - Dry-run and Auto-apply: See the plan or apply it automatically.
composer require nmangold/composer-remedyWhen you encounter a dependency conflict, run:
composer drupal:fix-conflicts--dry-run: Show the resolution plan without making any changes.--apply: Automatically executecomposer requirewith the computed version fixes.
The plugin follows SOLID principles and uses a service-oriented architecture:
ConflictAnalyzer: Triggers a simulated update to captureSolverProblemsException.DependencyGraphBuilder: Constructs a graph of involved packages.ResolutionPlanner: Iteratively relaxes constraints to find a valid resolution.RiskAnalyzer: Evaluates the impact of version bumps.DrupalAnalyzer: Applies Drupal-specific logic for core and modules.
Run the test suite with PHPUnit:
vendor/bin/phpunitThis project is licensed under the MIT License.