larabun / lara-bun
A Laravel-to-Bun bridge via Unix sockets
Requires
- php: ^8.3
- illuminate/console: ^13.0
- illuminate/support: ^13.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-05 22:17:06 UTC
README
Important
This package has moved to rsc-kit/laravel.
composer remove larabun/lara-bun composer require rsc-kit/laravel
The namespace changed with it: replace LaravelRsc\ with RscKit\ in your
imports, and LaravelRscServiceProvider with RscKitServiceProvider anywhere
you reference it directly.
Versions here remain installable and nothing breaks if you stay. New work
happens in the new repository, which starts again at 0.1.0 so its number
matches the engine it drives — @rsc-kit/core 0.1.x.
LaraBun
A bridge between Laravel and Bun for React Server Components, streaming HTML, PHP callables, and server actions — all over Unix sockets.
Features
- React Server Components — Server-rendered React with zero client JS for server components
- File-based routing — Next.js App Router conventions (pages, layouts, route groups, dynamic segments)
- PHP callables — Call Eloquent, auth, sessions directly from server components via
php() - Server actions —
"use server"functions for form mutations - Streaming HTML — Suspense boundaries stream progressively over the wire
- Partial Prerendering (PPR) — Static shell cached at build time, dynamic content streamed at runtime
- Parallel routes —
@folderconvention for named layout slots - Route interception —
(.)/(..)/(...)convention for modals on SPA navigation - Typed routes — Auto-generated type-safe
route()helper - Inertia SSR — Drop-in replacement for Inertia's Node SSR server
- Sub-millisecond IPC — Binary frame protocol over Unix sockets
Quick Start
composer require larabun/lara-bun bun add react react-dom react-server-dom-webpack
BUN_RSC_ENABLED=true BUN_BRIDGE_SOCKET=/tmp/my-app-bridge.sock
// resources/js/rsc/app/page.tsx export default async function Home() { const posts = await php<Post[]>('Posts.latest'); return ( <main> {posts.map(p => <article key={p.id}><h2>{p.title}</h2></article>)} </main> ); }
php artisan bun:dev
Requirements
- PHP 8.2+ with the
socketsextension - Laravel 11+
- Bun 1.0+
- React 19
Documentation
Full documentation, guides, and live demos at larabun.dev
Performance
| Avg | Min | Max | |
|---|---|---|---|
| LaraBun (Unix Socket) | 2.39ms | 1.73ms | 4.75ms |
| Inertia HTTP SSR (Bun) | 3.36ms | 2.32ms | 19.47ms |
~30% faster with zero additional PHP memory overhead. Unix sockets skip the TCP stack entirely.
Support
If this saved you time, consider supporting the project:
License
MIT