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

Stimulus Laravel Laravel Package

hotwired-laravel/stimulus-laravel

Stimulus-Laravel integrates Hotwired Stimulus with Laravel, helping you register and load Stimulus controllers and attach them in Blade via data-controller attributes, adding lightweight interactive UI without a full SPA or heavy JavaScript framework.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: hotwired-laravel/stimulus-laravel is the Laravel-side adapter for Stimulus controllers, the modest-JS companion to Turbo. It fits applications that already use (or intend to use) Hotwire via turbo-laravel, and it is largely unnecessary for apps on Livewire, Inertia, or a SPA front end. Architecturally it is thin: it wires controller registration, asset publishing, and view helpers into Laravel's service container and Blade layer, so it adds a convention layer rather than a runtime dependency of consequence.

Integration feasibility: Low effort. The package is installed via Composer, publishes its config/assets, and expects a JS bundler (Vite in current Laravel skeletons) to compile the Stimulus entrypoint. There is no data-store, queue, or auth surface to integrate. The main friction point is coordinating the PHP-side registration with the front-end build pipeline — a packaging concern, not an architectural one.

Technical risk: Low-to-moderate, and mostly version-shaped rather than logic-shaped. Release 1.5.0 is a single change: Laravel 13.x compatibility (PR #46), shipped as a minor version bump. That is a strong signal of a non-breaking, additive constraint widening — but it also raises the question of whether the package's supported Laravel range is now broad (e.g., 11.x–13.x) or whether dropping older versions was folded in silently. The absence of any other changes in 1.5.0 means the package's feature surface and known issues are entirely inherited from 1.4.0; nothing was fixed alongside the compatibility work. Maintenance cadence is the real risk factor for a small, volunteer-led Hotwire package: compatibility patches clearly do land, but they land reactively after a Laravel major drops.

Key questions:

  • What is the exact illuminate/* constraint in 1.5.0's composer.json — is Laravel 11/12 still supported, or was this a widening that quietly dropped older majors?
  • Does the CI test matrix actually run against Laravel 13, or was the constraint bumped without matrix coverage?
  • Is a matching turbo-laravel release required for Laravel 13, and are the two packages version-locked in practice?
  • What is the package's release latency after prior Laravel majors — is 1.5.0 typical or unusually late?
  • Are there open issues against 1.4.0 that 1.5.0 does not address?

Integration Approach

Stack fit: Best fit is a Laravel monolith using Blade + Vite + Turbo, where Stimulus supplies progressive enhancement. It is a poor fit for API-only services, Livewire-centric apps, or teams standardizing on a component framework — in those cases the package is dead weight and should be declined.

Migration path: For a greenfield Hotwire app, adopt at the start: add the Composer package, publish config, and wire the Stimulus entrypoint into vite.config.js. For an existing app, the migration is incremental by design — Stimulus controllers can be introduced controller-by-controller without touching existing Blade views, which makes it a genuinely low-blast-radius adoption. The upgrade to 1.5.0 itself is a Composer constraint bump; no migration steps are implied by the release notes.

Compatibility: The 1.5.0 release is explicitly a compatibility release for Laravel 13.x, which is the headline finding. Verify the PHP version floor alongside it — Laravel 13's PHP requirement will gate this more than the package will. Front-end compatibility (Stimulus 3.x, Vite 5+) is the other axis the release notes say nothing about.

Sequencing: (1) Confirm target Laravel and PHP versions and whether the app is upgrading to 13 or staying pinned. (2) If upgrading Laravel, bump Laravel first, then this package, then turbo-laravel, in that order, validating the JS build between steps. (3) If not upgrading Laravel, 1.5.0 delivers no functional value — stay on 1.4.0 and take the bump opportunistically with the next routine dependency sweep. (4) Treat framework upgrades as gated on this package's release, and plan for a lag.

Operational Impact

Maintenance: Minimal ongoing burden — one Composer dependency, a small published config, and a JS entrypoint. The real cost is the coupling of your Laravel upgrade calendar to a third-party package's release cadence. Budget for the possibility that a Laravel major lands and this package lags by weeks.

Support: Community-supported, not vendor-backed. No SLA, no commercial support tier. Internal ownership should sit with whoever owns the front-end build; there is no dedicated ops surface.

Scaling: Effectively N/A at the infrastructure layer — Stimulus is client-side and the package adds no server-side runtime path. Scaling concerns belong to your asset pipeline and CDN, not to this package. Note that a growing Stimulus controller count does add JS bundle weight, which is a front-end budgeting concern rather than an operational one.

Failure modes: (1) Silent asset-pipeline drift — controllers registered PHP-side but not compiled by Vite, producing missing-behavior bugs that surface only in the browser. (2) Version-skew with turbo-laravel, where one package supports Laravel 13 and the other does not. (3) Constraint conflicts during composer update blocking a framework upgrade. (4) Package abandonment — low probability given recent activity, but the failure would be felt as an inability to move to the next Laravel major rather than an outage.

Ramp-up: Hours for a developer already comfortable with Stimulus; the Laravel integration adds little conceptual overhead. For a team without Hotwire experience, the ramp-up cost is in Stimulus and Turbo concepts, not in this package — plan training accordingly rather than scoping it as a dependency evaluation.

Assessment of 1.5.0: Warrants recording, not alarm. It is a compatibility-only minor release confirming the package tracks Laravel majors, with no breaking changes, no new features, and no deprecations. It does not change the adoption recommendation, but it does resolve the "will this survive the next Laravel upgrade" question favorably — and it should be treated as the trigger to verify the Composer constraint range and CI matrix before committing to Laravel 13.

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.
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode