- What does altek/eventually do in Laravel?
- altek/eventually is described as the missing many-to-many Eloquent events package. The technical assessment treats it as a narrow extension that dispatches lifecycle events for pivot attach, detach, sync, and pivot-row saves so listeners can handle audit logging, cache invalidation, search-index sync, or notifications. It is not a core domain architecture component and should not become load-bearing for business logic.
- Is altek/eventually an event sourcing package or a pivot event package?
- The blurb calls Eventually an event sourcing package with aggregates, event storage, projectors, and reactors, but the package name and TPM assessment describe a small Eloquent pivot event extension. Treat the event sourcing description as unverified until the README confirms it; evaluate the package against the many-to-many pivot event use case.
- How do I install altek/eventually in a Laravel app?
- Install it with Composer using composer require altek/eventually once its constraints resolve against your application. You will likely register a service provider and apply a package trait or replacement relationship class to models with many-to-many relations. The README excerpt is absent here, so confirm the exact provider, trait, and event names in the repository before wiring it in.
- Which Laravel and PHP versions does altek/eventually support?
- The available assessment says the package appears to originate in the Laravel 5.x era, so its illuminate/* constraints may not resolve against a modern Laravel 10 or 11 application. It does not provide a definitive PHP or Laravel support matrix. Verify Composer constraints against your target stack before adopting; on Laravel 8 and later, native pivot events likely make it redundant.
- Why use altek/eventually when Laravel has native pivot events?
- Laravel has shipped native pivot events since the 8.x line, including pivotAttaching, pivotAttached, pivotDetaching, pivotDetached, pivotUpdating, and pivotUpdated through custom pivot models and the AsPivot trait. On Laravel 8 or newer, altek/eventually duplicates framework behavior and carries obsolescence risk. Use it only as a stopgap on older Laravel versions where native pivot events are unavailable.
- Which many-to-many operations dispatch events in altek/eventually?
- The assessment says the package targets attach, detach, sync, and pivot-row saves. It does not confirm behavior for syncWithoutDetaching, toggle, updateExistingPivot, or updateOrCreate. Test those operations explicitly if your listeners depend on them.
- Are Eventually pivot events fired before or after the database write?
- The context does not specify whether events fire before or after the database write, or whether they run inside or outside an ambient transaction. That timing determines whether listeners see committed state. Verify it with an integration test before relying on events for audit logs or cache invalidation.
- How does altek/eventually interact with custom Pivot or AsPivot models?
- The interaction with native Pivot and AsPivot classes is not confirmed and is flagged as a risk: possible outcomes include double dispatch, silent override, or clean coexistence. Test it against a custom pivot model on a branch. If you are on Laravel 8 or newer, prefer native AsPivot events over adopting this package.
- Can I test altek/eventually pivot events in isolation?
- The context does not confirm a test suite or whether event dispatch can be unit-tested in isolation. Because the integration surface is small, you can likely test it with Event::fake and an in-memory SQLite database, but verify the package's own tests first. If testing is weak, wrap the behavior behind an internal abstraction.
- Is altek/eventually maintained, and what are the alternatives for pivot audit trails?
- Maintenance signals are poor: zero stars, zero dependents, no visible maintenance cadence, and no named maintainer or license confirmed in the context. Treat it as low blast radius but high uncertainty, and do not make it load-bearing. For pivot audit trails on Laravel 8 or newer, use native AsPivot events, an explicit join model with observers or domain events, or a maintained audit package; record Eventually as considered and rejected if native events meet the requirement.