envant/fireable
Envant Fireable is a Laravel package that automatically fires events when chosen Eloquent model attributes change. Define fireable fields on a model and react to updates with dedicated events, avoiding manual observer boilerplate and keeping model change handling clean and explicit.
Feature delivery on event-driven work. The package collapses a repetitive chunk of Laravel work — "when this field changes on this model, dispatch that event" — into a declarative mapping on the model. That shows up in a disproportionate number of roadmap items:
order.status, subscription.plan, or invoice.amount changes, without writing a bespoke observer per model.save(). This is the quiet win: it prevents event storms from no-op writes.Signal from the scores: a narrow opportunity score (0.38) is consistent with what this is — a small, well-liked quality-of-life utility. It will not differentiate the product. It shortens the critical path on features you've already committed to.
Reasonable fit when:
EventServiceProvider or an observers directory.Look elsewhere — or write the trait yourself — when:
spatie/laravel-activitylog, spatie/laravel-event-sourcing) instead. Do not let a listener-based design get mistaken for an audit trail — listeners are fire-and-forget and a failed queue job silently loses the record.saving can be dispatched before the transaction commits, which produces phantom events on rollback. You'll need afterCommit handling regardless of which tool you pick.Model::where(...)->update() bypasses Eloquent events entirely. If your data pipeline uses mass updates, this package — and every observer-based approach — will quietly not fire. That's a design constraint worth surfacing to stakeholders early.For executives (one paragraph): We're evaluating a small open-source Laravel utility that removes boilerplate when the application needs to react to data changes — the plumbing behind things like "notify the customer when their plan changes" or "tell our partner's system an order shipped." It's a micro-utility, not a platform bet: adopting it saves a modest amount of engineering time per event-driven feature and enforces one consistent pattern across the codebase. The cost is near-zero (MIT-licensed, ~440 GitHub stars); the risk is that it hasn't been released since 2022, so if we adopt it we'll copy it into our own codebase rather than depend on it from upstream. Recommendation: treat as a tactical accelerator with a contingency, not a strategic dependency.
For engineering (the actual decision): The value is that attribute→event mappings become declarative and colocated with the model, which kills the "did anyone remember to write an observer for this field?" class of bug. Two hard caveats before we commit:
If the spike passes, adopt it behind our existing event conventions; if it doesn't, vendor the pattern internally and move on. Either way, we should not spend more than a day deciding.
How can I help you explore Laravel packages today?