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

Eventsauce Bundle Laravel Package

jphooiveld/eventsauce-bundle

A Symfony bundle that integrates EventSauce event sourcing into your application, providing service configuration for aggregates, repositories, message dispatching, and event storage so you can build domain-driven, event-sourced systems with less boilerplate.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

First, a correction worth surfacing early: this is a Symfony bundle, not a Laravel package. The underlying library (eventsauce/eventsauce) is framework-agnostic PHP and works in Laravel, but the bundle itself only provides Symfony DI wiring and configuration. If your stack is Laravel, this package is not a drop-in — it is at best a reference implementation for the ~100–200 lines of container glue you would write yourself. Anyone framing this as a "Laravel package" in a ticket or vendor review is mis-scoping the work.

With that caveat, the decisions this package genuinely informs:

  • Adopt event sourcing for a bounded context, or don't. The real decision is architectural, not package-level. Event sourcing buys you an immutable audit trail, temporal queries, and the ability to rebuild new read models from history. It costs you eventual consistency, schema/versioning discipline, and a materially higher debugging burden. This bundle is only the wiring question that comes after that decision.
  • Build vs. buy on integration glue. The bundle's entire value is pre-written service definitions for the message repository, message dispatcher, serializer, and consumer/outbox plumbing. That is roughly a day of engineering. Weigh that against the cost of forking and maintaining a dependency with 15 stars, zero dependents, and a last release of November 2019 — the "buy" case is thin on its own merits.
  • Reference architecture for our own integration layer. Even in a reject decision, this repo is a useful worked example of how to compose EventSauce's MessageRepository, MessageDispatcher, and serializer chain inside a DI container. That maps cleanly onto a Laravel service provider if we go that route.
  • Roadmap scoping for audit/compliance/ledgering features. If auditability or "show me the state of this entity on date X" is a differentiating capability, event sourcing deserves a spike. If those are checkbox requirements, an append-only audit log table is dramatically cheaper and we should say so explicitly.
  • Stack-fit decisions for the delivery team. Because the bundle is Symfony-only and last released pre-Symfony 5, adopting it implicitly pins our PHP/Symfony baseline or forces a fork. That's a constraint the roadmap needs to absorb, not a footnote.

When to Consider This Package

Reasonable to evaluate only when all of the following hold:

  • The application is Symfony, and you have already committed to EventSauce as the event-sourcing library — not the other way around.
  • You want a small, readable starting point for container wiring rather than a batteries-included framework, and you have the appetite to vendor or fork it.
  • The surrounding infrastructure (event store, outbox, async transport) is being chosen separately; the bundle is not making those decisions for you.

Look elsewhere — or write the glue — when any of these are true:

  • You are on Laravel. The bundle provides no value; only the underlying eventsauce/eventsauce library does. Budget a short spike for a service provider, not a dependency.
  • You need a maintained dependency. Last release 2019-11-25, 15 stars, zero dependents. There is no observable maintenance signal, no downstream usage to surface bugs, and no community to lean on. Treat it as unmaintained code you are adopting, with the associated security-review and upgrade liability.
  • You need modern runtime support. PHP 8.x and Symfony 6/7 compatibility are unverified and, given the release date, unlikely without patching. Constraint files should be checked before any spike begins.
  • You need production-grade event-sourcing features — snapshotting, event upcasting/versioning, outbox with guaranteed delivery, multi-tenancy, projection rebuild orchestration. This bundle does not provide these; several maintained alternatives (or a hand-rolled layer over EventSauce) do.
  • You need a defensible vendor/OSS posture for a security or procurement review. Low adoption plus low recency is a hard story to tell in a review.

Practical gating criteria before any spike: confirm the EventSauce version constraint, confirm PHP/Symfony compatibility, confirm test presence and coverage, and confirm who owns the fork if the upstream goes quiet (it already has).

How to Pitch It (Stakeholders)

To executives — one line: this is a thin, unmaintained adapter for a niche PHP event-sourcing library; it is not a strategic dependency, and we should not adopt it as one.

The business framing: event sourcing is the decision that matters. If audit trails, regulatory reconstruction of historical state, or "replay history to answer a new question" are genuinely valuable to our product, the capability is worth investing in. If they are nice-to-haves, an append-only audit log delivers 80% of the value at 20% of the complexity, and we should choose that instead. Either way, this specific package is a footnote — it saves about a day of plumbing and carries an unmaintained-code liability that outweighs that saving.

To engineering — the honest trade: the bundle hands you Symfony DI wiring for EventSauce's message repository, dispatcher, serializer, and consumer. It is readable and small enough to lift wholesale. But it was last released in 2019, has 15 stars and zero dependents, and predates modern Symfony and PHP baselines. Recommendation: use it as a reference, not a dependency. If we commit to EventSauce, write and own the integration layer ourselves — it is a short, well-understood piece of work, and owning it removes a fork obligation we would otherwise inherit on day one.

Recommended decision: do not adopt as a dependency. Treat as a reference implementation, run a time-boxed spike on eventsauce/eventsauce directly against our framework of record, and make the event-sourcing go/no-go call on product grounds rather than on the availability of this bundle.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource