Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Layout Bundle Laravel Package

enabel/layout-bundle

Deprecated Symfony bundle providing a responsive Bootstrap 5 layout with Enabel styling, Twig components (alerts, theme and locale switchers, user menu), favicon management, error and email templates, and light/dark mode theming.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: This is a Symfony bundle, not a Laravel package. It ships Symfony DI configuration, a bundle class, Twig templates/components, Bootstrap 5 layout assets, and Enabel design-system styling. A Laravel application has a different runtime model: Blade instead of Twig, package discovery via extra.laravel, Laravel service providers/config, Vite/Mix asset pipelines, and no Symfony bundle registration. As a result, the package is not architecture-compatible with Laravel as a dependency. Its reusable value is limited to static assets and template patterns: layout HTML, Bootstrap 5 structure, alert/theme/locale/user-menu markup, favicon handling, error pages, and email templates.

Integration feasibility: Low if the goal is composer require and runtime integration in Laravel. High effort is required to bridge Symfony bundle conventions, Twig components, and Symfony config into Laravel. Moderate effort is possible only by treating the repository as a reference implementation: copy MIT-licensed CSS/JS/Twig templates, convert Twig to Blade, replace Symfony configuration with Laravel config, and rebuild components natively. For a Symfony application, integration would normally be straightforward, but the package is explicitly deprecated, which removes the main reason to integrate it as-is.

Technical risk: The deprecation notice is the dominant risk. “Deprecated and no longer maintained” means no security patches, no PHP/Symfony compatibility updates, no bug fixes, and no support for future Bootstrap or browser changes. The repository shows README, docs, changelog, and releases, and the SymfonyInsight/codecov/CI badges suggest historical quality controls, but those do not offset abandonment. Additional risks include unknown Symfony/PHP version constraints, coupling to Enabel branding and design-system CSS, Twig component semantics that may not map cleanly to Blade, and asset-pipeline conflicts between Symfony Encore and Laravel Vite. The score of 9 should be read as a quality signal within its original context, not as a recommendation for a Laravel stack; with zero dependents and a deprecation notice, strategic risk is high.

Key questions:

  • Is the target application actually Laravel, Symfony, or a mixed PHP estate? If Laravel, why evaluate a Symfony bundle rather than the recommended Enabel UX alternative or a Laravel-native UI kit?
  • Which components are genuinely needed: layout shell, alerts, theme switcher, locale switcher, user menu, favicon, error pages, email templates, or only the CSS design tokens?
  • What are the supported PHP, Symfony, Twig, and Bootstrap version constraints, and do they overlap with our runtime?
  • Is the intent to depend on the package, fork it, or vendor selected templates/assets?
  • What is the maturity, license, and roadmap of Enabel UX, the stated replacement?
  • Who will own the frontend code after extraction, and what is the acceptable level of fork debt?
  • Are there security, accessibility, localization, or email-client compatibility requirements that the unmaintained templates may not satisfy?

Integration Approach

Stack fit: Poor for Laravel as a package dependency; acceptable as a design and template source. The practical fit is to reuse Bootstrap 5 layout structure, CSS theming, and component markup while rebuilding the integration points in Laravel conventions. For a Symfony application, the correct stack fit is to migrate to Enabel UX rather than adopt this deprecated bundle. The package’s runtime value is mostly frontend; its Symfony/Twig plumbing is the part that does not transfer.

Migration path: Treat the repository as a time-boxed extraction source, not a long-lived dependency.

  1. Record the decision to avoid composer require enabel/layout-bundle in Laravel and document the deprecation rationale.
  2. Inventory the specific components needed and discard unused ones.
  3. Extract MIT-licensed CSS, JS, favicon assets, and template markup with attribution.
  4. Convert Twig templates to Blade layouts and anonymous/components; map Symfony config to config/*.php and .env.
  5. Rebuild theme switching with cookie/localStorage persistence and a small inline script to avoid flash-of-wrong-theme.
  6. Rebuild locale switching using Laravel localization routes/middleware.
  7. Rebuild the user menu as a Blade component with authorization-aware links.
  8. Recreate error pages and email templates using Laravel’s exception views and Mailables, testing against major email clients.
  9. If the estate includes Symfony, plan a separate migration to Enabel UX and do not extend this bundle.

Compatibility: Expect friction at every framework boundary: Symfony bundle registration, Twig extensions/components, Symfony Config tree, and asset paths. Laravel can adopt Twig only through additional bridges, which adds version-alignment risk and is not justified for layout templates. Bootstrap 5 CSS/JS is portable, but the Enabel design-system layer may assume specific markup, fonts, or icon sets. The package license is MIT, which permits extraction with attribution, but the absence of maintenance means compatibility with current Laravel, PHP, and Bootstrap releases is not guaranteed.

Sequencing: Start with a discovery spike that identifies the minimum reusable surface and validates one component end-to-end in Blade. Then extract design tokens and layout before components, because alerts, menus, and theme switching depend on layout primitives. Build and test the theme switcher and locale switcher early, since they carry the most behavioral risk. Defer email templates until the web layout is stable. If any Symfony application is in scope, sequence the Enabel UX evaluation in parallel and block new Symfony integration with this bundle.

Operational Impact

Maintenance: Deprecated status means the upstream maintenance burden transfers to our team immediately. Any extracted code becomes a fork with no upstream fixes. We must pin or vendor assets, track security advisories for Bootstrap and other bundled dependencies, and periodically review Enabel UX as the intended replacement. Allowing the package as a direct dependency would create an unmaintained third-party surface in the build, which is difficult to justify for a layout layer.

Support: There is no vendor SLA and no active maintainer. The repository has documentation and release history, but support is effectively self-service. Zero dependents and limited public adoption reduce the likelihood of community answers. Internal ownership must be explicit: a frontend owner for templates/assets and a backend owner for Blade/Laravel integration. The CI, codecov, and SymfonyInsight badges indicate past engineering discipline, not ongoing support.

Scaling: Runtime scaling is not a major concern because the package is primarily templates and static assets. The real scaling concerns are team scale and asset delivery: Bootstrap bundle size, CSS duplication, icon/font loading, and cache headers. Theme switching is client-side and should remain cheap; locale switching should reuse Laravel’s localization cache. Email template rendering scales with the mail queue, not this package. If the design system grows, a copied template layer can fragment across applications unless governed centrally.

Failure modes: The most likely failures are upstream abandonment, framework incompatibility after PHP/Laravel upgrades, broken Twig components if a bridge is used, asset-pipeline conflicts between Symfony Encore and Laravel Vite, flash-of-wrong-theme on page load, favicon caching issues, missing translations, and email-client CSS rendering problems. Security failure modes include unpatched Bootstrap or transitive dependencies and unreviewed template markup. Operational failure modes include unclear ownership, divergent copies across teams, and a delayed migration once Enabel UX becomes the standard.

Ramp-up: For a Laravel team, adopting the bundle as-is requires Symfony bundle, Twig, and Symfony Config knowledge, which is a high and largely wasted ramp-up. Extracting templates requires moderate HTML/CSS/Bootstrap and Blade skills, plus design-system familiarity; a small team can usually port the layout and one or two components in a short spike, with the full set taking multiple sprints depending on accessibility, localization, and email requirements. For a Symfony team, ramp-up on the bundle is low but strategically misdirected; effort is better spent evaluating and adopting Enabel UX. Documentation and decision records should capture the deprecation rationale, extracted-code provenance, and the exit path to the recommended replacement.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log