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

Symfony Vite Bundle Laravel Package

webforge/symfony-vite-bundle

Symfony bundle that integrates the Vite front-end build tool into your app. Provides Twig helpers for rendering script and style tags, dev-server HMR support, and manifest-based production asset resolution, so hashed entrypoints work without manual configuration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • The package is a Symfony bundle, not a Laravel package. It cannot be dropped into a Laravel application: there is no service provider, no config publish, no Blade directive, and no laravel-vite-plugin equivalent. It binds to Symfony's Twig extensions, DI container, bundle config tree, and HTTP kernel.
  • Functionally, it solves the same problem Laravel's first-party laravel-vite-plugin + @vite Blade directive already solves: reading manifest.json / hot files, emitting correct entry tags for dev vs. production, and wiring HMR.
  • It only becomes architecturally relevant if the estate contains Symfony applications (or Symfony-based admin/back-office services) rendering Twig frontends that share a Vite build pipeline with the Laravel properties. In a pure Laravel estate, the architecture fit is null.

Integration feasibility

  • Direct adoption in a Laravel codebase: not feasible without an adapter layer, fork, or framework swap. Estimated effort to port is low in raw code (manifest parsing + tag rendering) but non-trivial in ownership.
  • Adoption in a Symfony service: feasible and straightforward — composer require, register bundle, configure entrypoints and build directory, use Twig functions for link/script tags.
  • The 0.434 composite score and 0 stars / 0 dependents signal an unvalidated package. That is the dominant feasibility constraint, not the API surface.

Technical risk

  • Community/supply-chain risk (high): zero dependents means no downstream patching, no CVE watch, no Stack Overflow corpus, and no incidental regression testing by others. Every upgrade is a self-supported endeavor.
  • Bus factor (high): single-vendor package (webforge-labs) with no visible contributor base in the metadata provided.
  • Vite version coupling (medium): bundles of this type frequently pin to a manifest format and Vite major version. Vite 5→6 and the manifest v2 file/css/assets shape are the usual break points; verify peer constraints before committing.
  • Dev/prod divergence (medium): the class of bugs here is always the same — HMR client injection behind a proxy, server.origin/base misconfiguration, stale hot file after a crashed dev server, and CSP nonces on injected tags.
  • Positive signal: MIT license and a May 2025 release indicate active, permissively licensed maintenance rather than abandonment.

Key questions

  1. Which Symfony and PHP version ranges are supported, and is there a documented compatibility matrix against Vite majors?
  2. Does it handle SSR, asset preloading (modulepreload), base path/CDN prefixing, and CSP nonce injection — or only the happy-path entry tags?
  3. Is the manifest read defensively (build-missing fallback) or does it throw on a cold cache / failed deploy?
  4. Who is the maintainer, and is there a stated support/security disclosure policy?
  5. Do we actually have Symfony+Twig surfaces in the estate, or is this being evaluated for the wrong framework?

Integration Approach

Stack fit

  • Laravel-first estate: poor fit. The correct answer is to stay on laravel-vite-plugin, which is first-party, versioned in lockstep with Laravel, and covers HMR, SSR, preloading, and asset URL rewriting.
  • Mixed PHP estate (Laravel + Symfony): conditional fit. The realistic value is standardization — one Vite build contract, one manifest convention, one set of CI checks across both frameworks — rather than replacing anything in Laravel.

Migration path

  • Do not migrate Laravel frontends to this bundle. There is no migration path that isn't a framework rewrite.
  • If a Symfony surface exists that currently uses Webpack Encore or hand-rolled manifest.json parsing in Twig, this bundle is a plausible Encore-to-Vite migration target. Sequence: stand up Vite config → configure bundle entrypoints → cut one low-traffic Twig template over behind a flag → compare emitted tags byte-for-byte against the legacy pipeline → roll forward page-group by page-group.
  • If the goal is consolidating a shared design-system build across frameworks, a cleaner path is to publish the Vite build as an internal artifact (manifest + hashed assets to a CDN) and let each framework's native integration consume it, rather than adopting a Symfony bundle for a non-Symfony consumer.

Compatibility

  • Verify: PHP constraint, Symfony ^6/^7 constraint, Twig version, Node/Vite major, and whether it expects public/build/manifest.json vs. a configurable path.
  • Verify it coexists with Symfony's AssetMapper — running AssetMapper and Vite concurrently on the same app is a common source of duplicate/conflicting asset resolution.
  • Check for symfony/framework-bundle transitive pinning that would block minor upgrades elsewhere in a monorepo.

Sequencing

  1. Confirm a concrete Symfony+Twig consumer exists. If not, stop — evaluation is moot.
  2. Spike: one Symfony app, one entrypoint, dev server + production build, both validated in CI.
  3. Run a two-week maintenance audit: read the commit history, issue response times, and the diff between the last two releases.
  4. If the spike passes, adopt behind a vendored fork or pinned minor and designate an internal owner.
  5. Only then consider standardizing the build contract across Laravel and Symfony surfaces.

Operational Impact

Maintenance

  • High relative to value. Zero dependents means we are the de facto maintainers: version bumps, Vite major upgrades, and security patches land on our team, not upstream.
  • Pin to an exact minor (0.x.y) with a lockfile and a documented upgrade runbook. Treat the package as vendored code with a composer autoload rather than a dependency we trust to float.
  • Budget roughly a few engineer-days per Vite major release to validate manifest handling, plus the same for each Symfony major.

Support

  • No vendor SLA, no support contract, no community forum. Escalation path is "read the source," which is fine for a ~500-line bundle and unacceptable if it grows.
  • Require an internal DRI before adoption. A package with no upstream support and no internal owner is an orphaned dependency on day one.
  • Add a CI job that fails the build if the manifest is absent or if entry tags render empty — this catches the most common class of upstream regressions automatically.

Scaling

  • The runtime footprint is negligible: manifest read plus string rendering, cacheable per deploy. No horizontal scaling concerns.
  • The real scaling concern is blast radius: one shared bundle across N Symfony apps means one bad upgrade breaks all of them simultaneously. Roll out per-app, never fleet-wide.
  • Multi-app estates should cache manifests in the framework cache and invalidate on deploy hash, not on every request.

Failure modes

  • Missing manifest (build step skipped, deploy order wrong): tags render empty or throw — page loads unstyled or 500s. Mitigate with a deploy gate.
  • Stale hot file after a crashed dev server: production-like environments attempt to reach localhost:5173, producing timeouts and unstyled pages. Mitigate by excluding the hot file from build artifacts.
  • Reverse proxy / TLS termination breaking HMR websocket: dev-only pain, but it burns onboarding time.
  • base/CDN prefix misconfiguration: correct filenames, wrong URLs — silent 404s on hashed assets.
  • Supply-chain compromise: an unpinned, low-visibility package is a realistic vector. Mitigate with lockfile pinning, a private mirror, and a periodic diff against upstream tags.

Ramp-up

  • Low technical ramp-up (~half a day for a mid-level engineer familiar with Vite), high organizational ramp-up: establishing ownership, CI guards, and an upgrade cadence.
  • Do not onboard more than one or two Symfony surfaces until the vendored-fork pattern and CI gates are proven. The cost here is not learning the API — it is absorbing the maintenance of an unvalidated dependency.
  • Recommendation: do not adopt for Laravel. Evaluate only against a confirmed Symfony consumer, and only with a named internal owner and a pinned version.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager