valehasadli/emitrix
70.1
Strong · 21 September 2026
936
lines of production code
TypeScript
with JavaScript
4
measurements over time
What this system is
Emitrix is a type-safe, async-first in-process event bus library for Node.js and isomorphic environments. It provides structured event envelopes with correlation metadata, configurable error policies, and middleware support for tracing and logging. The system supports various dispatch modes, wildcard subscriptions, and priority-based listener execution, ensuring robust performance under load.
Features
Emitrix v2.0.0: Async-first in-process event bus with typed envelopes and error policies
Emitrix is introduced as an async-first, type-safe in-process event bus for Node.js backends (and isomorphic environments like browsers, Deno, and Bun). The library provides typed event maps, event envelopes with correlation/causation metadata, configurable error policies (aggregate or fail-fast), and multiple dispatch modes (sequential or parallel). It features a middleware pipeline for tracing and logging, wildcard subscriptions, delayed listeners, and a \waitFor\ API for promise-based one-shot subscriptions. The package is built with TypeScript 7 targeting ES2022, uses Jest 30 for testing, and maintains zero runtime dependencies.
(repo-wide) · high confidence
Introduce Emitrix v2.0.0 async-first event bus API
The library has been updated to version 2.0.0, shifting to an async-first architecture for its in-process event bus. This release exposes the core Emitter class along with specific error types (EmitError, TimeoutError, AbortError) and a comprehensive set of type definitions (such as DispatchMode, EmitOptions, Middleware, and various listener-related types) from the main entry point, establishing the public API for the new event channeling capabilities.
src · high confidence
Introduce async-first in-process event bus with structured envelopes and middleware
The library now provides a new in-process event bus (Emitter) designed for backend use, featuring async-first handlers and structured event envelopes that include identity, correlation, and causation metadata for tracing. Users can subscribe using exact names, prefix wildcards, or catch-all patterns, with support for priority-based ordering, delayed execution, and cancellation via AbortSignal. The bus offers configurable error handling (aggregate vs. fail-fast) and dispatch modes (sequential vs. parallel), along with middleware support for cross-cutting concerns like logging and metrics.
src/lib · high confidence
Behavioural changes
Automated GitHub release creation via release script
A new release script (scripts/release.sh) has been added to automate the creation of GitHub releases. When executed, the script reads the version from package.json, creates a git tag, generates release notes from the CHANGELOG, and uses the GitHub CLI to publish the release. This release creation triggers the CI workflow to test and publish the package to npm.
scripts · high confidence
Test coverage
Added comprehensive test coverage for the Emitter event bus; Added load benchmark for event emitter priority handling.
Dependencies
Upgrade to Babel 8, Jest 30, and TypeScript 7
The project's development dependencies have been updated to major new versions: Babel is upgraded to version 8, Jest to version 30, and TypeScript to version 7. These changes require a Node.js runtime of version 20 or higher and may affect the build and test environment due to the significant version jumps in the tooling stack.
(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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 69 → 70 (+1.6)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 100 (+0.6)
- Architecture 69 → 69 (+0.0)
- Maturity 66 → 66 (+0.0)
- Readiness 65 → 72 (+7.2)
- Security 71 → 80 (+9.1)
Resolved (13)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (package-lock.json)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (15)
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (the committed lockfile resolved no direct production dependency)
- High CVE: [GHSA redacted] (package-lock.json)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No assertions: seed %d, 5000 operations (tests/stress/fuzz.test.ts)
- No dependency advisory monitoring
- Workflow holding a long-lived secret is unscoped
Changes since last survey
- 3 commits — 3 feature/other, 0 fixes
By area
- (root) — 3 commits
Notable commits
- change: 0.1.3
- change: chore: update dev dependencies (lockfile only) (#78)
- change: docs: move dependency update notes into 0.1.3 changelog section
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
valehasadli/emitrix 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 9885a554b69bb05b6626f13f5c079b692afed1d7 — 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-28e75b8e3254.