dontdrinkandroot/symfony-version-enforcer
symfony/console, symfony/http-client, or custom integrations). It mitigates version conflicts and ensures compatibility with Laravel’s ecosystem.conflict/replace: Manual and less maintainable.composer.json scripts: Requires manual enforcement.
This package offers a lighter, version-only alternative to Flex, ideal for projects needing strict Symfony versioning without recipe overhead.config.platform or config.platform-check, which Laravel already supports. Minimal setup required (e.g., adding to composer.json).symfony/var-dumper) conflict with the enforced version.composer.json branches during transitions (e.g., Symfony 5.x → 6.x).symfony/mailer) or via Laravel packages?symfony/console in Artisan) vs. enforced version?composer require symfony/*:^6.4 (with conflict rules) achieve the same goal without this package?composer.json for Symfony dependencies (direct/transitive).6.4.*).composer.json to validate no false blocks.composer.json:
"config": {
"platform-check": true,
"platform": {
"symfony/*": "6.4.*"
}
},
"extra": {
"symfony-version-enforcer": {
"symfony/*": "6.4.*"
}
}
composer update --with-dependencies to test.symfony/var-dumper) for conflicts.6.4.*), not ranges. May need ^6.4 for patches.6.4.*).symfony/mailer:5.4.0 blocked for 6.4.*).composer install (platform checks).| Scenario | Impact | Mitigation |
|---|---|---|
| Enforced version too strict | Builds fail on valid updates | Use ^6.4 instead of 6.4.* |
| Laravel’s Symfony deps conflict | Artisan/console breaks | Whitelist Laravel’s Symfony deps |
| Package abandonware | No updates for Symfony 7.x | Fork or switch to Flex |
| False positives in CI | Legitimate PRs blocked | Document exception rules |
CONTRIBUTING.md section on version rules.composer.json template with enforced versions.How can I help you explore Laravel packages today?