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

Foundation6 Bundle Laravel Package

frux/foundation6-bundle

Symfony bundle for integrating Zurb Foundation 6, offering front-end assets, Twig helpers, and form theme support to build responsive interfaces with Foundation’s grid and components.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — mismatch by packaging, narrow in intent. Despite the "Laravel/PHP package" filing, frux/foundation6-bundle is a Symfony2 bundle. Its actual surface area is small and unambiguous: it registers ZURB Foundation 6 CSS/JS with Symfony's Assetic-era asset pipeline and ships Twig form theme templates so Symfony Form types render Foundation markup. Laravel has no bundle registration, no DI extension contract, and no Assetic consumer; even the Twig bridge for Laravel does not load Symfony bundles. There is no architectural seam through which this plugs in. What is transferable is a handful of Twig templates and static SCSS/JS — reference material, not a dependency.

Integration feasibility — near zero as a Composer dependency. Laravel 9–12 constrain symfony/* to ^6/^7 and require PHP 8.1+, while a Symfony2-era bundle will pin symfony/framework-bundle to the ~2.x line and PHP 5.x/7.0-era constraints. Composer's solver will refuse resolution; force-installing (--ignore-platform-reqs, aliasing) risks pulling EOL Symfony components into the tree. The realistic integration is a manual harvest: read the templates, translate the ideas into Blade, and take Foundation from npm. At that point the package is not adopted — it is cannibalized.

Technical risk — high and avoidable.

  • Abandoned target framework. Symfony 2.x reached EOL in November 2018; roughly seven years without security support. That is a strong proxy for the bundle's own maintenance state.
  • Zero validation signal. Empty stars, zero score, zero dependents, no issue activity. Bus factor is effectively one, and there is no field evidence to borrow confidence from.
  • Legacy front-end assumptions. Foundation 6 is a mature-to-stale CSS framework whose JS plugins assume jQuery — directly at odds with Laravel's Vite/no-jQuery defaults.
  • Support vacuum. No docs beyond a README, no migration notes, no community answer base.

Key questions a TPM must get answered before funding any work:

  1. What is the actual requirement — "our design system is already Foundation 6," or "we need a form theme"? These lead to completely different decisions.
  2. Is any part of the product on Twig, or is it entirely Blade? If Blade, the bundle's only durable asset (form themes) needs rewriting anyway.
  3. Does a front-end owner exist, and do they know Foundation 6 is a legacy choice relative to Tailwind, current Bootstrap, or Foundation's own newer releases?
  4. Is this being proposed by someone carrying habits from a prior Symfony project? That is the most common reason a package like this lands in a Laravel backlog.
  5. Has anyone verified the tagged branch still resolves, and when the repo last saw a commit?

Where the leverage actually is: as a decision forcing function. Evaluating this package surfaces the real strategic question — how long the legacy Symfony surface, or the Foundation 6 design language, stays alive. That conversation is worth having regardless of the package's fate.

Integration Approach

Stack fit. The Laravel-shaped equivalent is the foundation-sites npm package compiled through Vite with sass, registered in resources/css/app.css and resources/js/app.js. Presentation belongs in the asset pipeline, not in Composer. Form markup belongs in Blade components or a form macro — Laravel's FormBuilder does not consume Symfony Form types, so the Twig form theme has no consumer.

Migration path — three options, in order of preference:

  1. Skip the package. Add foundation-sites to package.json, import the SCSS partials, initialize JS plugins. Roughly one developer-day and delivers exactly what the bundle nominally provided. Lowest total cost of ownership by a wide margin.
  2. Harvest templates only. If Foundation-styled form markup is the goal, copy the Twig theme blocks and translate to Blade components (<x-form.input>, <x-form.select>). Preserves design intent with no dependency. Small, bounded work.
  3. Fork and maintain. Defensible only under a documented requirement to preserve Symfony bundle semantics — which contradicts a Laravel premise. Not recommended.

Compatibility. Assume none. PHP 5.x/7.0-era constraints, Symfony 2.x, Twig 1.x/2.x, and Assetic-style {% stylesheets %} references all conflict with a modern Laravel toolchain. Foundation 6's jQuery plugin lifecycle also conflicts with the no-jQuery baseline most teams run.

Sequencing.

  1. Confirm the design-system requirement with the front-end owner (1 day). Output: a written statement of the actual need.
  2. Spike foundation-sites via npm + Vite on a branch; verify SCSS compilation and JS plugin init (1–2 days).
  3. If forms are in scope, port the form theme to Blade components and retire the Twig originals (2–4 days, scaling with form count).
  4. Record an ADR documenting rejection of the bundle and the chosen path; remove any manifest or onboarding references. Keeps the eval from resurfacing in three months.

Total realistic effort: under two weeks for a team that wants Foundation 6. Compare against the indefinite carrying cost of an unmaintained dependency — the sequencing above is cheaper on every axis.

Operational Impact

Maintenance. Adoption means inheritance. No upstream patches, no PHP 8.x compatibility work, no security response channel. It becomes a permanent line on the "packages nobody understands" list and breaks on every Laravel major upgrade — the worst cost profile: low value, recurring spend. composer audit and any SCA tooling will likely flag the transitive EOL Symfony components, generating findings your team must then triage and suppress.

Support. No vendor, no maintainer engagement, no community. Internal archaeology is the only escalation path. Contrast with foundation-sites on npm, which at minimum carries release notes, an active tracker, and Stack Overflow coverage — real support even if informal.

Scaling. Runtime impact is nil: static assets and templates, no services, no queries, no background work. The scaling risk is organizational. Foundation 6 idioms (XY grid, data- attribute initialization, jQuery plugins) are increasingly scarce in the hiring pool, and every new front-end hire pays a ramp-up tax on a framework their peers are not using. If the team grows or the design system is revisited, Foundation 6 graduates from "a choice" to "a migration project."

Failure modes to anticipate.

  • composer update hard-fails on Symfony/PHP constraint conflicts, blocking unrelated dependency upgrades until the package is removed — an outage-adjacent outcome from a purely presentational dependency.
  • Asset pipeline drift: the bundle assumes Assetic-era inclusion; Vite will not serve those references, producing blank or broken styling that presents as a cache bug and burns debugging time.
  • jQuery version conflicts if Foundation 6 plugins are initialized alongside a partial jQuery setup.
  • Silent divergence between the vendored form theme and the SCSS actually compiled, yielding subtly misaligned form markup that QA catches late in the cycle.
  • Abandoned transitive dependencies carrying unpatched CVEs, surfaced during security review with no fix available and no upstream to petition.

Ramp-up. The package is small enough to read in an hour; the cost is not comprehension, it is context. A Laravel developer must learn Symfony bundle conventions to understand code they cannot reuse — negative-value onboarding. The genuinely useful investment is Foundation 6 itself: roughly 1–2 weeks to become productive with the XY grid, utility classes, and plugin lifecycle, plus another week to wire it cleanly through Vite with Blade components.

Roadmap recommendation. Mark as evaluated and rejected. The underlying need — Foundation 6 styling in a Laravel application — is real and cheaply met via npm plus Blade components. This package is a Symfony2-era artifact with no Laravel surface area, no maintenance signal, and no community. Introducing it trades a two-week implementation for an open-ended liability. If the real driver is a legacy Symfony app that must stay on Foundation 6, treat that as a platform-lifecycle decision to be scoped and funded explicitly — not smuggled in through a vendor package.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings