Tidy the bundle's structure and constraints - #53
Open
loevgaard wants to merge 1 commit into
Open
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## fix/27-public-api #53 +/- ##
====================================================
Coverage ? 81.97%
Complexity ? 171
====================================================
Files ? 35
Lines ? 538
Branches ? 0
====================================================
Hits ? 441
Misses ? 97
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
loevgaard
force-pushed
the
fix/27-public-api
branch
from
September 7, 2026 12:03
a8f579f to
0ee3ad6
Compare
loevgaard
force-pushed
the
fix/30-bundle-structure
branch
from
September 7, 2026 12:03
c17b1a2 to
df6dd77
Compare
loevgaard
force-pushed
the
fix/27-public-api
branch
from
September 7, 2026 12:18
0ee3ad6 to
5a924d7
Compare
loevgaard
force-pushed
the
fix/30-bundle-structure
branch
from
September 7, 2026 12:18
df6dd77 to
00aed2f
Compare
loevgaard
force-pushed
the
fix/27-public-api
branch
from
September 7, 2026 12:47
5a924d7 to
960efdb
Compare
loevgaard
force-pushed
the
fix/30-bundle-structure
branch
from
September 7, 2026 12:47
00aed2f to
964b4b5
Compare
loevgaard
force-pushed
the
fix/27-public-api
branch
from
September 7, 2026 12:51
960efdb to
293f806
Compare
loevgaard
force-pushed
the
fix/30-bundle-structure
branch
from
September 7, 2026 12:51
964b4b5 to
6064e42
Compare
Move the duplicated tag bag detection into InstalledBundles, replace the Webmozart assertions in the extension with LogicException, which is what Symfony uses for a missing bundle, drop the dead event-dispatcher-contracts ^2.5 branch and list the optional packages under suggest. The AbstractBundle and PHP config migration stays out: it is only needed for Symfony 8, which is blocked on dependencies. Fixes #30
loevgaard
force-pushed
the
fix/27-public-api
branch
from
September 7, 2026 12:57
293f806 to
ab2f04b
Compare
loevgaard
force-pushed
the
fix/30-bundle-structure
branch
from
September 7, 2026 12:57
6064e42 to
064cf2d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #30
What is in
One source of truth for the tag bag check.
Configuration::isTagBagBundleInstalled()and the fourAssertcalls in the extension both decided what counts as an installed tag bag bundle, with the package name and^3.0written twice. Both now callInstalledBundles::hasTagBagBundle(), and the constraint is a constant.Symfony's exception types. The extension used
Webmozart\Assert\Assert::true()and::keyExists(), which throw\InvalidArgumentException. Symfony's convention for "bundle X requires bundle Y" is\LogicException, so that is what it throws now, with a message that also names the way out (client_side.enabled: false). The integration test asserting on the old type is updated.Dependency constraints.
symfony/event-dispatcher-contractsdrops the^2.5branch: 2.x pairs with Symfony 5.4, which this bundle no longer supports, and Symfony 6.4's event dispatcher accepts^3. Added asuggestsection fornyholm/psr7,symfony/http-client,setono/tag-bag-bundleandsetono/consent-bundle, which the README already told people to install.What is deliberately out
AbstractBundleand PHP service configuration. The XML DI format is deprecated in Symfony 7.4 and removed in 8.0, so this migration is needed for Symfony 8 support, which is blocked on dependencies rather than on this bundle:setono/bot-detection-bundleallows^5.4 || ^6.4 || ^7.0, and the consent and tag bag bundles have no Symfony 8 constraints either. Doing the migration now would be churn with no user-visible effect, so the extension keeps its comment marking the spot, and this stays with the Symfony 8 work.Moving
symfony/messengertosuggest. Server side tracking is on by default, so messenger is required for the default configuration. Making it optional would mean guarding the message and handler classes, which costs more than it saves.