hashemi/fireworks
Fireworks is a lightweight Laravel package for adding customizable fireworks animations to your web apps. Easily trigger celebratory canvas effects on page loads, user actions, or special events with a simple API. Minimal setup and easy to drop into any Blade view.
Architecture fit
saved/updated/created) and adds "property-wise" hooks — i.e., reacting to which attribute changed rather than just that the model saved. Conceptually this is a thin convention layer over getChanges(), wasChanged(), and getOriginal().Integration feasibility
composer require, use Fireworks; on a model, done. No infrastructure, no credentials, no external services.composer.json, and whether it hooks boot{Trait} correctly alongside other traits.Technical risk
saveQuietly, withoutEvents, mass update(), forceDelete) are where these packages typically diverge from expectations. Mass updates bypass model events entirely, so "property changed" reactions silently don't fire.boot methods and observer ordering can produce double-firing, recursion (listener saves the model → hook fires again), or silent non-registration on naming collisions.Key questions
PropertyChanged event with payload, or a convention-based method call? Is it queueable?created as well as updated, and how does it distinguish dirty vs. persisted state?Stack fit
Migration path
use statement removed → behavior gone).app/Support/ rather than depending on the abandoned upstream, or (2) reimplement the ~50–150 lines in-house against our own Observer base class. Given 0 dependents and a low score, "build/vendor" dominates "buy" — the concept is trivial to reproduce and the dependency adds only upgrade risk.composer.json platform constraints, and treat it as internal code under our maintenance, not third-party.Compatibility
illuminate/support and PHP version constraints against our matrix before anything else. Expect to patch return types and event signatures for Laravel 10+.booted() hooks; check interaction with soft deletes and observers.DB::transaction, queued listeners, and Model::withoutEvents().Sequencing
Maintenance
Support
Scaling
Failure modes
saveQuietly, withoutEvents, or trait boot collision → downstream state drifts with no error.Ramp-up
use line, familiar Eloquent concepts — under an hour for a Laravel-fluent engineer.Bottom line: Low technical risk per line of code, high ownership risk per dependency. The TPM recommendation is to vendor or reimplement the ~100-line concept internally rather than take a dormant, unvalidated dependency into a core write path; adopt the pattern, not the package.
How can I help you explore Laravel packages today?