Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Turbine Laravel Package

power-components/turbine

Turbine is a framework-agnostic Laravel data engine that handles search, filters, sorting, pagination, and row transformations over Eloquent, Query Builder, Collections, or Scout, returning a plain JSON envelope. Describe your grid once in PHP, then render it with React, Vue, Livewire, or any AJAX f...

View on GitHub
Deep Wiki
Context7

Headless, UI-agnostic table engine for Laravel: describe the grid in PHP, get JSON for Inertia, Livewire, REST or plain AJAX.

Frequently asked questions about Turbine
What is power-components/turbine used for in Laravel?
Turbine is a headless, UI-agnostic table engine for Laravel. You describe a grid once in PHP, and it returns a plain JSON envelope containing data, metadata, columns, filters and actions. It handles search, filters, sorting, pagination and row transformations so your front-end only has to render the response.
Which Laravel and PHP versions does Turbine require?
Turbine requires PHP 8.3 or higher and Laravel 12 or 13, since it depends on the illuminate components. Because the package is pre-1.0, confirm the supported Laravel, PHP and Livewire combination against the repository before pinning it in a long-lived application. A compatibility matrix or CI badge is the best signal that the versions you need are actually tested.
How do I install Turbine via Composer?
Install it with composer require power-components/turbine. Laravel package discovery registers the service provider, and there is no external service or infrastructure footprint to configure. Check the README for any publishable config or assets and commit those to your repository so upgrades produce a reviewable diff.
Does Turbine work with Inertia, Livewire, Vue, React and plain AJAX?
Yes. Turbine ships no Blade views and no JavaScript, so the same engine can feed Inertia with React or Vue, a Livewire component, a REST endpoint or plain AJAX. The front-end owns rendering and interaction while Turbine owns the data and the rules. Your front-end just renders the JSON envelope it receives.
Which datasources does Turbine support: Eloquent, Query Builder, Collections or Scout?
Turbine can run over Eloquent models, the query builder, Collections and Laravel Scout. You supply the datasource in the PHP grid definition, for example a closure returning a query. Search, filtering, sorting and pagination are then applied by the engine consistently across all four datasource types.
How do search, filters, sorting and pagination work in Turbine?
You define the grid in PHP using the Turbine builder with fields, filters, buttons and actions. Table state travels in the request, typically under a turbine query parameter plus the page parameter. The engine applies search, filters, sort and pagination to the datasource and returns the results in the envelope, so no per-front-end query logic is required.
What does the Turbine JSON response envelope contain?
The envelope returns data, meta, columns, filters and actions. That gives your front-end the rows, pagination and sorting metadata, column definitions, available filter state and any row or bulk actions in one response. Everything the UI needs to render the table is in that single JSON payload.
Is Turbine stable enough for production at version 0.9?
Treat it as pre-1.0 software: the minor version is the breaking-change position, so 0.8 to 0.9 is explicitly allowed to break APIs, config keys, published views or component props. Pin an exact version such as 0.9.0 rather than a caret range, and wrap Turbine behind your own base table component and filter registry. Verify test coverage, CI and Livewire compatibility yourself, since a young project with a small contribution history carries maintenance risk as well as semver risk.
How do I upgrade Turbine safely between 0.x releases?
Read the diff and the pull request discussion rather than relying on the release title, then upgrade on a lag of one or two patch releases so regressions surface upstream first. Publish and commit the config and any views, then diff them on each upgrade to turn silent regressions into reviewable changes. Spike the upgrade in a single non-critical admin screen and manually exercise every customized filter and overridden view before rolling it out.
Can Turbine export data and persist table state?
Yes, the README covers exporting data and state persistence as first-class features alongside actions and rules. Exports typically run through the same grid definition, so filters and sorting apply to the exported dataset. State persistence keeps the current search, filter, sort and pagination settings across requests so users return to the view they left.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager