sindresorhus/emittery
Simple and modern async event emitter observed · 2026-08-28
Health v2 · maintenance only
75/100
- Activity 84
- Release rhythm 49
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 144
- age_days: 3201
- days_rel: 182
- days_push: 101
- n_releases_24m: 4
Adoption not part of the score
2073 stars · 83 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Emittery is a small, zero-dependency JavaScript library providing an async-first event emitter with strongly typed events, async iteration, AbortSignal cancellation, and lifecycle hooks. It works in Node.js and bundled browser environments as a modern alternative to EventEmitter.
Use cases
- emit events asynchronously without blocking the event loop
- typed event emitter for TypeScript projects
- subscribe to events with async iteration for-await-of
- cancel event subscriptions with AbortSignal
- lazy setup and teardown of listener resources
- pub/sub communication between app components
When to choose
- you want an async, promise-based event emitter instead of Node's EventEmitter
- you need TypeScript-typed events with zero dependencies
- you need async iteration or cancellation support in your event system
When to avoid
- you need synchronous event dispatch with guaranteed immediate listener execution
- you need cross-process or distributed pub/sub messaging
- your environment cannot use ES modules or bundlers
Facets
library · maturity stable
middleware developer-tools developer-tools web-development backend frontend browser event-emitter pubsub async promise typescript zero-dependency observer-pattern nodejs javascript
2 sources
- readme: https://github.com/sindresorhus/emittery · fetched 2026-08-28 · 2da4176bfdd5
- registry_npm: https://registry.npmjs.org/emittery · fetched 2026-08-29 · 37619eebfb1a
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| sindresorhus/emittery | main | 75 |
For agents
markdown · JSON · MCP: product_card(name="sindresorhus/emittery")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem