From 122e84491e5e3f89150f46101636a857f667aa4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e=20Kooi?= Date: Thu, 24 May 2018 16:27:09 +0200 Subject: [PATCH] Update readme: clarify Node version, shims, feature contribution policy --- Readme.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/Readme.md b/Readme.md index d08b2f5..aa269cb 100644 --- a/Readme.md +++ b/Readme.md @@ -1,8 +1,14 @@ -# Status: [Maintainer Needed](https://github.com/Gozala/events/issues/43) - # events [![Build Status](https://travis-ci.org/Gozala/events.png?branch=master)](https://travis-ci.org/Gozala/events) -Node's event emitter for all engines. +> Node's event emitter for all engines. + +This implements the Node.js [`events`](http://nodejs.org/api/events.html) module for environments that do not have it, like browsers. + +> `events` currently matches the **Node.js 10.1** API. + +Note that the `events` module uses ES5 features. If you need to support very old browsers like IE8, use a shim like [`es5-shim`](https://www.npmjs.com/package/es5-shim). You need both the shim and the sham versions of `es5-shim`. + +This module is maintained, but only by very few people. If you'd like to help, let us know in the [Maintainer Needed](https://github.com/Gozala/events/issues/43) issue! ## Install @@ -14,14 +20,25 @@ npm install events ```javascript var EventEmitter = require('events') -``` -Note that the `events` module uses ES5 features. If you need to support very old browsers like IE8, use a shim like [`es5-shim`](https://www.npmjs.com/package/es5-shim). You need both the shim and the sham versions of `es5-shim`. +var ee = new EventEmitter() +ee.on('message', function (text) { + console.log(text) +}) +ee.emit('message', 'hello world') +``` ## API See the [Node.js EventEmitter docs](http://nodejs.org/api/events.html). `events` currently matches the Node.js 10.1 API. +## Contributing + +PRs are very welcome! The main way to contribute to `events` is by porting features, bugfixes and tests from Node.js. Ideally, code contributions to this module are copy-pasted from Node.js and transpiled to ES5, rather than reimplemented from scratch. Matching the Node.js code as closely as possible makes maintenance simpler when new changes land in Node.js. +This module intends to provide exactly the same API as Node.js, so features that are not available in the core `events` module will not be accepted. + +If there is a difference in behaviour between Node.js's `events` module and this module, please open an issue! + ## License [MIT](./LICENSE)