robert-stanciu/wireless
Wireless is a lightweight Laravel package that helps you wire up common application features with a simple, expressive API. It favors sensible defaults, minimal configuration, and clean, maintainable PHP code, making it easy to drop into new or existing Laravel projects.
mount/set/call a Livewire component from a job, a command, or another component, your domain logic is currently trapped inside a presentation layer. The real decision this surfaces is extract to a service and call the service versus keep it in the component and drive the component. Extracting is the durable answer; this package is the shortcut that lets you defer it.Livewire::test() for mount/set/call in PHP. If your only need is test coverage, this package adds nothing and should be rejected on the spot. The decision it supports is whether you need this capability at runtime, outside the test suite — that distinction is the entire buy signal.Consider it when all of the following hold:
Look elsewhere when:
Livewire::test(). Non-negotiable.hydrateForUpdate() and calls mount/call without Livewire 4's added arguments. This is a bridge built on internals that the next major will move.Redirector surviving for the life of the process, redirector frames released out of order across overlapping cycles, per-guard user restoration across two drivers on one guard, validation errors from an updated hook wiped by the next call. Those are not cosmetic bugs — they are the abstraction fighting the framework's global container. If you don't fully understand the failure modes, don't put them in a worker.To executives: This is optional internal plumbing, not a product dependency. It lets server-side code drive a Livewire component directly instead of going through a browser round trip, which is useful for back-office automation, admin tooling, and background jobs. Cost is one Composer line under MIT. Risk is concentrated in the maintenance profile — a single maintainer, no adoption, and a hard coupling to Livewire internals — so it should be treated as a timeboxed experiment with an exit cost we've already estimated, not a platform bet. Recommendation: approve a scoped spike, not adoption.
To engineering: Small adapter, narrow scope, real value in exactly one place — runtime component invocation outside tests. Be explicit that Livewire::test() already covers the testing case, so we should only take this if we can name the runtime flow it unblocks. The v3.0.0 notes are the honest risk summary: the maintainer spent the release fixing global-state leaks in the redirector stack, the authenticated user, and the validation bag. That tells us the abstraction manipulates Livewire's process-global container, which is fine in a single short-lived request and dangerous under Octane or in a worker. Estimate the cost of removing it before we add it: if the call sites are three services, the exit is a day; if it's thirty, we're buying a dependency we can't leave.
How can I help you explore Laravel packages today?