- Does helthe/turbolinks-bundle work with Laravel?
- No. It is a Symfony bundle that depends on Symfony's kernel event model and Twig, and Laravel has no equivalent bundle or service-container-extension concept, so it will not work as a drop-in. Using it in a Laravel app would require forking and re-homing its logic into a service provider and middleware. The package is best treated as a reference spec for behaviors worth reimplementing.
- How do I install helthe/turbolinks-bundle?
- In a Symfony project you would install it via Composer, register the bundle in the kernel, and include the provided JavaScript and Twig helpers. For a Laravel project, do not install it; instead extract the redirect, status-code, and header behaviors and rebuild them as middleware plus a Blade directive. Its thin surface area makes that port small and keeps rollback to a script-tag and middleware removal.
- Which PHP and Symfony versions does helthe/turbolinks-bundle support?
- The Composer constraints are old and appear to target Symfony 2.x-era PHP, so expect hard blockers on modern PHP and Symfony versions. There is no Laravel version support at all because it is not a Laravel package. Verify the composer.json constraints before attempting any install, and assume compatibility friction with modern asset pipelines like Vite.
- What features does helthe/turbolinks-bundle actually provide?
- It adds the Turbolinks JavaScript, sets response headers, and provides Twig helpers. A request/response listener sets Turbolinks-Location on redirects, handles 303 See Other for non-GET verbs, tracks asset changes, and manages cache-control headers. The total logic is only a few hundred lines, which is why it is portable as a specification rather than a dependency.
- How do I get Turbolinks-style navigation in a Laravel app?
- The safest path is Turbo (Hotwire) with a maintained Laravel-adjacent integration, or Inertia if the team wants a component-driven SPA feel without building an API. Alternatively, hand-roll a small Laravel package with middleware and a Blade directive that reproduces 303 responses for PUT/PATCH/DELETE, Turbolinks-Location on redirects, asset tracking, and cache headers. All three options are lower risk than adopting an unmaintained Symfony bundle.
- Should I use Turbolinks, Turbo, or Inertia in Laravel?
- Classic Turbolinks is end-of-life, so avoid building new work around it. Turbo is the maintained successor and the correct fit if the goal is Turbolinks-style navigation, while Inertia is better when the team wants a component-driven SPA feel. Choose based on whether the frontend is already committed to Livewire, Inertia, or a JavaScript framework that manages its own lifecycle.
- How do I reimplement Turbolinks redirect and 303 behavior in Laravel middleware?
- Extract the behaviors worth keeping: return 303 See Other after PUT, PATCH, or DELETE requests, set Turbolinks-Location on redirects, track asset changes, and emit appropriate cache-control headers. Implement them in a small Laravel package with middleware, a Blade directive, and configuration, then add feature tests for redirect semantics and cache behavior. Pilot on one low-traffic section and instrument analytics and JavaScript error rates before rolling out.
- Is helthe/turbolinks-bundle maintained and safe for production?
- The signals are poor: around 38 stars, zero dependents, old Composer constraints, no evidence of CI or a test suite, and an unmaintained upstream. The runtime security surface is small because most of it is client-side navigation plumbing, but the maintenance and upgrade risk is material. Adopting it creates a permanent fork obligation for marginal benefit.
- Can I use helthe/turbolinks-bundle with Livewire, Inertia, or Vite?
- Not cleanly. Classic Turbolinks uses a cache-and-swap model that assumes a single document load, which conflicts with frameworks that manage their own lifecycle, and it adds friction with modern asset pipelines like Vite. Livewire and Inertia already solve the perceived-navigation-speed problem in different ways. Verify browser-support assumptions only if legacy clients are in scope.
- How do I migrate from a Symfony Turbolinks bundle to Laravel?
- Do not propagate the bundle forward. If a legacy Symfony application already uses it, pin it there only, isolate it, and schedule removal alongside the Symfony-to-Laravel migration. Run a one-to-two day spike to inventory its behaviors against your actual navigation requirements, then decide between Turbo, Inertia, or a hand-rolled port, piloting incrementally and retiring the bundle reference from the codebase.