- Can I use ruwork/frujax-bundle in a Laravel application?
- No. It is a Symfony bundle under the Ruwork namespace, registered through config/bundles.php or AppKernel rather than a Laravel service provider. Making it work in Laravel would require a custom adapter layer, and the archived 2018 code carries more risk than the small AJAX helper is worth. Implement the pattern natively with Laravel middleware and response macros instead.
- What does ruwork/frujax-bundle actually do?
- It integrates Frujax into Symfony and Twig to provide PJAX-style navigation, where clicks load only page blocks via AJAX instead of a full reload. The server swaps blocks, while browser history and scroll state are preserved. It is convenience glue for AJAX-driven navigation, not deep infrastructure.
- How do I install ruwork/frujax-bundle with Composer?
- In a Symfony project you would require the package and register the bundle in config/bundles.php, then configure it for your Twig templates. In Laravel there is no supported installation path because the package is not a Laravel package and has no service provider. For new Laravel work, do not add it to composer.json.
- Which Laravel versions does frujax-bundle support?
- None. The package is a Symfony bundle from the Symfony 3.x/4.x era, last released on 2018-07-04, and it does not declare Laravel framework support. There is no Laravel 8, 9, 10, or 11 compatibility layer. Laravel teams should treat it as a pattern reference only.
- How is frujax-bundle configured in a Symfony app?
- Configuration is minimal: register the bundle, enable Frujax for your Twig templates, and mark the page blocks you want swapped. Details live in the bundle's Symfony configuration rather than in Laravel config files. Because the repository is archived, you should audit the source before relying on any configuration behavior.
- Is ruwork/frujax-bundle maintained?
- No. The repository is archived, the last release was 2018-07-04, and it has zero stars and zero dependents. Archiving closes the contribution channel, so there are no bug fixes, PHP version bumps, or security responses. That makes it unsuitable as a new dependency.
- What are the production risks of using frujax-bundle?
- The main risk is dependency decay: 2018 Composer constraints for symfony/http-kernel and symfony/http-foundation can conflict with modern PHP 8.1+ and Symfony 5.4, 6.x, or 7.x upgrades. There is no visible CI or test suite, and archived repositories are not covered by typical advisory monitoring. With zero dependents, there is also no production evidence for edge cases or load behavior.
- What are good Laravel alternatives to ruwork/frujax-bundle?
- For Laravel, implement AJAX-aware request detection and JSON or partial responses with middleware plus a response macro or a small response factory. If you want the PJAX-style navigation behavior, evaluate actively maintained tools such as HTMX, Turbo, Livewire, or Inertia rather than a dormant Symfony bundle. The native approach stays inside your support boundary and is testable.
- How should I test a legacy app that already uses frujax-bundle?
- Characterize the current behavior with black-box tests against the package, covering AJAX detection, block swapping, history, and scroll restoration. Then reimplement the same contract behind an identical internal interface, swap the binding, and remove the vendor dependency and bundle registration. This strangler sequence lets you drop the package without a risky big-bang rewrite.
- Does frujax-bundle work with PHP 8.1+ and Symfony 6 or 7?
- Probably not without changes. A bundle last released in 2018 typically pins Symfony 3.x/4.x constraints that fail Composer resolution on PHP 8.1+ and Symfony 5.4, 6.x, or 7.x. You would need to inspect composer.json and audit for removed PHP 8 constructs before considering a fork. For new work, reimplement the small behavior first-party instead.