larabun / lara-bun
A Laravel-to-Bun bridge via Unix sockets
v0.8.3
2026-03-26 09:31 UTC
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
README
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