Split go.mod — core should have zero heavy dependencies #67
Labels
No labels
bug
documentation
enhancement
investigation
nice-to-have
performance
production-ready
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ash/eskit#67
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
go.mod includes sonic, msgpack, cbor, jsoniter, pgx, nats, sqlite all in core. A user who wants just MemoryStore for testing pulls in NATS, Postgres, sonic, msgpack.
Fix
Split into sub-modules:
eskit(core) — Event, Decider, Reactor, Projection, MemoryStore, Codec interface. Zero external deps.eskit/sqlitestore— SQLite store (depends on modernc.org/sqlite)eskit/pgstore— Postgres store (depends on pgx)eskit/natsstore— NATS store (depends on nats.go)eskit/codec— CBOR, jsoniter, msgpack, sonic codecs (each optional)eskit/otelkit— already separate ✅Acceptance