- Can I use limenius/react-bundle in a Laravel application?
- Not natively. It is a Symfony bundle that relies on Symfony's bundle registration, DI container, config tree, and Twig extension system, none of which Laravel exposes. A Laravel app can only consume it by running a separate Symfony sidecar service that renders fragments and returns HTML over HTTP. Treat the bundle as a reference design rather than an installable Laravel dependency.
- How do I install limenius/react-bundle in a Symfony project?
- Install it with Composer, register the bundle in your Symfony kernel bundles file, and import its configuration under the limenius_react key. On the JavaScript side you install the companion limenius/react-renderer npm package if you plan to use the out-of-process Node renderer. Twig templates then call the provided render function, which outputs a container element plus a serialized props payload for client hydration.
- Does limenius/react-bundle support server-side rendering with Node.js or V8js?
- Yes, it ships two renderer backends. The external mode spawns or calls an out-of-process Node renderer via the limenius/react-renderer npm package, and the in-process mode uses the V8js PHP extension. The Node path is the only realistic one today because V8js is effectively unmaintained and tied to the PHP 7.x era.
- Does V8js server-side rendering still work on PHP 8.2 or 8.3?
- No, and you should not plan around it. V8js is an unmaintained PECL extension associated with PHP 7.x, and nothing in the v5.1.0 release addresses it. Only the external Node renderer mode is viable for modern runtimes. If you need SSR, budget for a Node process in production.
- Which Symfony versions does limenius/react-bundle v5.1.0 support?
- Version 5.1.0 was released specifically for Symfony 6 compatibility, the first release since December 2021. There is no Symfony 7 support in the release notes, and no breaking changes are implied by the minor version bump. If you are planning a Symfony sidecar, pin it to a supported Symfony 6 LTS rather than a stranded version.
- How does limenius/react-bundle hydrate server-rendered React in a template?
- The render helper outputs a container div along with the serialized props for that component. Your client bundle then attaches to that container and hydrates it with the same component and identical props. In Laravel you would reimplement this shape in Blade: emit the container, JSON-encode the props into a data attribute or script tag, and call hydrateRoot from your Vite bundle.
- Is limenius/react-bundle abandoned or still maintained?
- It is best described as low-activity and minimally maintained rather than abandoned. The v5.1.0 release in the Symfony 6 compatibility line is the first movement since December 2021, which shows someone is still tending it. However, it has around 384 stars and zero reported dependents, so plan for the possibility of forking it under its MIT license if you depend on it.
- Does limenius/react-bundle support React 18 streaming SSR?
- No. The bundle predates React 18 streaming APIs and expects renderToString-style output, so there is no renderToPipeableStream, no selective hydration, and no built-in protection against hydration mismatches with a modern React client. If you need streaming, you would have to replace the renderer layer yourself. The v5.1.0 release notes contain nothing addressing React 18.
- What are the alternatives to limenius/react-bundle for server-side rendering in Laravel?
- The practical options are Inertia with its SSR sidecar, spatie/laravel-server-side-rendering paired with a React adapter, or a small custom Node render endpoint called from a Laravel service class. All three keep Laravel as the application and treat rendering as an out-of-process concern. Adopting this bundle literally means running Symfony, which is a stack decision rather than a package choice.
- Is server-side rendering with limenius/react-bundle safe in production?
- SSR executes component code with server privileges, so the Node renderer is a trust boundary that must be sandboxed, time-boxed, and network-isolated. Before adopting SSR at all, confirm you actually need it for crawlability or LCP rather than treating it as aspirational. The bundle is MIT licensed, which is clean for commercial use and forking provided the notice is retained.