Provides the Node.js `events` EventEmitter module for environments that do not have it, such as browsers. Useful when you need Node-style event emitting in non-Node runtimes, matching the Node 11.13.0 API using ES5 features.
Project status
- Maintenance status: The provided history shows no new updates since v3.3.0 (2021-02-27), and as of 2026-08-13 this suggests the project is quiet and in maintenance mode rather than actively evolving (even though there was an upstream push on 2024-12-21, no corresponding tagged updates are shown here).
- Update cadence: Earlier changes arrived in bursts (2018 major updates, then 2021 updates), but the current cadence appears stalled for years relative to today.
AI summary generated
Recent updates
v3.3.0
Release v3.3.0 updates the `events.once` helper to support emitters that implement the DOM/EventTarget-style `addEventListener` and `removeEventListener` APIs. The tests and implementation were refactored to handle EventTarget-based dispatch as well as Node.js EventEmitter-based dispatch.
Featuresv3.2.0
v3.2.0 adds the `events.once` helper to match the Node.js 11.13.0 `events` module API. The release notes document that `events.once` depends on Promise support (and suggests using a polyfill for older environments). The code diff primarily introduces the new exported helper and adds corresponding tests, plus minor documentation and test infrastructure updates.
Featuresv3.1.0
Release v3.1.0 updates this `events` polyfill to match the Node.js 11.12.0 EventEmitter behavior, specifically around `once()` listener wrapping. The core code change is that the wrapped `once` listener now returns the original listener's return value and avoids extra argument-array allocation for performance.
v3.0.0
v3.0.0 upgrades this browser compatible `events` implementation to closely match Node.js 10.1. It also modernizes the test and CI setup (switching browser tests to airtap) and introduces additional Node 10 features such as `off()` plus newer API surface related tests.
BreakingFeaturesv2.1.0
Release v2.1.0 primarily introduces Emitter/EventEmitter#rawListeners, mirroring Node.js behavior for retrieving the internally wrapped listener functions. The code changes implement rawListeners by refactoring the existing listeners logic into a shared helper and adding corresponding unit tests.
Featuresv2.0.0
v2.0.0 updates the bundled event implementation to match Node.js 8.x behavior and capabilities. It adds listener-prepending APIs and an event name listing method, and includes a semver-major behavioral change to how once listeners are represented.
BreakingFeatures