jbaudanza/rxeventstore
41.6
Weak · 21 September 2026
1.5k
lines of production code
JavaScript
primary language
4
measurements over time
What this system is
RxEventStore is an event sourcing library that provides a unified interface for storing and querying events using PostgreSQL and Redis backends. It supports cursor-based pagination, metadata filtering, and event observability, with a modernized API that leverages Promises and async/await. The system includes comprehensive test coverage and integrates with the rxnotifier for event notification.
Features
Introduce Redis database driver and refactor PostgreSQL query interface
Added a new Redis database driver (src/database/redis.js, redis\_connections.js) that supports cursor-based pagination, metadata inclusion, and event observability. Refactored the PostgreSQL driver (src/database/pg.js) to align its query interface with the new cursor-based pagination pattern, allowing users to pass a 'cursor' option to 'query' and 'observable' methods. Added a shared 'streamQuery' utility (src/database/streamQuery.js) to handle streaming logic for both databases. Updated the filters module (src/database/filters.js) to support functional filtering for the new drivers.
src/database · high confidence
Behavioural changes
Adopt Promise-based Redis client and modernize UUID generation
The Redis client is now fully promisified, allowing callers to use async/await or .then() chains instead of callbacks. Additionally, the codebase has migrated from the deprecated 'node-uuid' package to the 'uuid' package for generating UUIDs.
src · high confidence
Rename to RxEventStore and expose PgDatabase and RedisDatabase
The library has been renamed to RxEventStore, with the main entry point now exporting PgDatabase and RedisDatabase classes directly. The underlying database modules (pg.js, redis.js) now require babel-polyfill and re-export their respective database implementations. A new schema.sql file defines an events table with an added aggregate\_root column. The README has been updated to reflect the new name, installation instructions, and usage examples for the event sourcing pattern.
(repo-wide) · high confidence
Test coverage
Expanded test coverage for event store and database implementations
Added comprehensive tests for the Redis and PostgreSQL database implementations, including specific test suites for the event store interface, notifier behavior, and filter functions. The changes include new test files for Redis and updated tests for PostgreSQL, batches, and filters, ensuring that features like cursor-based querying, metadata inclusion, and filtering by metadata fields are properly validated.
test · high confidence
Dependencies
Updated dependencies and renamed package to rxeventstore
The package has been renamed to 'rxeventstore' and updated to version 0.0.17. The dependency list was updated to include 'redis' and 'rxnotifier', while 'node-uuid' was replaced by 'uuid' (v3.0.0). Additionally, 'generic-pool' was added as a new dependency, and 'rxjs' was upgraded to version 5.0.1.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 39 → 42 (+3.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 46 → 42 (-4.0)
- Architecture 69 → 94 (+25.2)
- Maturity 49 → 49 (+0.0)
- Readiness 20 → 32 (+11.3)
- Security 75 → 60 (-15.0)
Resolved (47)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- …and 27 more
New (51)
- Coverage not measured — JavaScript/TypeScript suite
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Critical CVE: [GHSA redacted] (yarn.lock)
- Documentation: no architecture or design documentation (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- …and 31 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
jbaudanza/rxeventstore was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 9564ed31444e0f7a36178a72a20bdb62816ecc1f — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.