liip/theme-bundle
LiipThemeBundle adds flexible theme support to Symfony apps. Define multiple themes with template and asset fallbacks, switch themes per request or environment, and reuse a default theme. It simplifies building branded, multi-theme sites while preserving Symfony’s standard rendering and asset workfl...
AcmeBundle:Default:index.html.twig resolves to themes/clientA/... first, then the default). This is direct evidence for scoping white-labeling or per-tenant branding: it tells you the shape of the problem (theme registration, fallback order, asset path resolution) even if you build it yourself.twig.paths; a PM should treat this package as a convenience layer over that, which raises the question of whether the convenience justifies a dependency at all.InvalidArgumentException on empty redirect URLs. Nothing here expands what the package can do. For product purposes it confirms two things: the theming model is stable and finished, and the project is in low-touch maintenance rather than active development. Neither changes the build/buy math; both argue against planning a roadmap that depends on this repo evolving.Consider it (as a reference, not a dependency) when:
View::addLocation() / namespace hints cover much of the same ground natively.Look elsewhere — or build in-house — when:
View::addNamespace, and per-tenant view paths; theming is a few dozen lines of service-provider code.To executives: We evaluated a theming package for multi-brand support. It is a Symfony-only library with no downstream dependents and a long-stale feature set; it has just shipped a small 1.7.0 patch release containing only bug and CI fixes — no new capabilities. That is better than nothing, but it is maintenance, not momentum, and it does not change the risk profile of taking it as a dependency. Recommendation unchanged: do not adopt; fund a small theming epic on our own stack and treat the package's feature list as our requirements checklist. It confirms that white-labeling is fundamentally a template-and-asset fallback problem — a modest in-house build rather than a platform investment.
To engineering: Do not add liip/theme-bundle. It remains unmaintained in any meaningful sense, with no downstream dependents, and 1.7.0 adds nothing we need — it fixes a Twig deprecation notice, adjusts the Travis matrix, and patches an InvalidArgumentException when redirecting to an empty URL. Notably, that last fix is a redirect-path bug rather than a theming feature, which tells you where the project's remaining attention is going. Copy its model instead: register named themes, resolve templates and assets through an ordered fallback chain, keep theme selection separate from theme resolution, and make the default theme the terminal fallback so nothing 404s. Budget for the two genuinely hard parts — runtime theme selection (tenant/locale/campaign) and asset variant handling in the build pipeline — and keep the rest thin.
Bottom line for the decision log: pattern adopted, package rejected. 1.7.0 is a patch-level housekeeping release with no features, no breaking changes, and no new theming capability; it does not alter the recommendation. Revisit only if a maintained equivalent appears, or if this project shows sustained releases that add capability rather than silence deprecation warnings.
How can I help you explore Laravel packages today?