webfox/laravel-inertia-dataproviders
webfox/laravel-inertia-dataproviders provides reusable, testable data providers for Laravel and Inertia.js. It helps you query, paginate, sort, and filter Eloquent models and other data sources, then pass clean, structured props to your Inertia pages with less controller boilerplate.
Architecture fit. laravel-inertia-dataproviders sits between controllers and Inertia::render(), introducing a class-per-page abstraction for assembling page props. Architecturally it is an optional convention layer, not infrastructure — it competes with existing team patterns (Inertia::render('Page', $array), API Resources, form requests, view models). Fit is high only where prop assembly has already become inconsistent or duplicated across controllers; where teams are happy with plain arrays, this adds indirection without removing a named pain.
Integration feasibility. Composer-only integration, no runtime services or migrations. The real feasibility gate is the version constraint matrix, not the code. A v4.0.0 tied to Laravel 13 will pin PHP (likely 8.3+) and the inertiajs/inertia-laravel adapter in ways that must align with the host app's existing constraints. Expect this to be a 1–2 day change for a small app and a multi-sprint audit for a large one.
Technical risk. The release notes are a single line: "Upgrade to Laravel 13 with comprehensive test suite." That is a major version bump on an unstated breaking-change surface. The notes do not disclose whether v4 drops Laravel 10–12 support, whether provider method signatures changed, or whether the data-resolution contract changed. The "comprehensive test suite" is a genuine positive signal for reliability but says nothing about upgrade cost. Secondary risks: a young Laravel 13 ecosystem (adapter/third-party lag), and a small, likely single-maintainer package (bus factor, no vendor SLA).
Key questions.
inertiajs/inertia-laravel constraint.Stack fit. Laravel + Inertia (Vue/React/Svelte) monoliths, particularly apps with many pages and growing prop logic. Poor fit for API-first backends (Inertia not in play) or teams already standardised on API Resources + typed DTOs.
Migration path. Treat v3.3.0 as the supported line for apps on Laravel ≤12 and v4.x as the Laravel 13 line. Confirm the constraint before touching composer.json; if v4 hard-requires Laravel 13, the package upgrade is downstream of the framework upgrade and cannot be sequenced independently. Where v4 is additive, pilot it on Laravel 12 first to isolate package breakage from framework breakage. Read the changelog diff (3.3.0...4.0.0) and the upgrade guide before estimating — the release note alone is insufficient for a scoping decision.
Compatibility. Verify three axes explicitly: PHP version, inertiajs/inertia-laravel major, and Laravel major. Add a CI job that runs the app's Inertia feature tests against the chosen combination rather than relying on the package's own suite.
Sequencing.
Inertia::render().Maintenance. Low ongoing effort — no infrastructure, no background processes, no config surface to drift. The cost is upgrade coupling: each Laravel major likely forces a package major, converting a routine framework bump into a dependency-audit exercise. The new test suite materially improves confidence that majors are validated rather than assumed.
Support. Community-supported, no SLA, no commercial backing evident. Small maintainer pool means response times on issues are best-effort. Budget for the possibility of forking or vendoring the package if it stalls — feasible here because the abstraction is thin.
Scaling. Negligible runtime cost; class instantiation per request is noise. The scaling concern is organisational: one class per page can multiply into a large, under-reviewed directory. Enforce a convention early or the abstraction recreates the inconsistency it was adopted to fix.
Failure modes.
inertia-laravel while the package requires a newer one.Ramp-up. Low for anyone fluent in Laravel and Inertia — the concept is a naming and structure convention, learnable in under a day. The real onboarding cost is documenting when to create a provider versus passing an array, otherwise the pattern degrades into inconsistent adoption.
How can I help you explore Laravel packages today?