/event

The best event emitter base class and event center.

Primary LanguageJavaScriptMIT LicenseMIT

license CI npm NPM downloads Percentage of issues still open

The best event emitter and center, native compatible IE6

Chinese README

Compatibility

Unit tests guarantee support for the following environments:

  • Node 0.12+
  • Safari 6+ (Mac)
  • iOS 5+ Safari
  • Chrome 23+ (Windows, Mac, Android, iOS, Linux, Chrome OS)
  • Firefox 4+ (Windows, Mac, Android, Linux)
  • Internet Explorer 6+ (Windows, Windows Phone)
  • Opera 10+ (Windows, linux, Android)

Content Overview

├── demo - How to Use Demo
├── dist - Compiling Output Code
├── doc - Documents
├── src - Source Code Directory
├── test - Unit Tests
├── CHANGELOG.md - Update Log
└── TODO.md - Future Plans

How to Use

Using npm, download and install the code.

$ npm install --save @jsmini/event

If you are in a node enviroment:

var EventEmitter = require('@jsmini/event').EventEmitter;

var ec = new EventEmitter();

If you are in a webpack or similar environment:

import { EventEmitter } from '@jsmini/event';

var ec = new EventEmitter();

If you are in a requirejs environment:

requirejs(
  ['node_modules/@jsmini/event/dist/index.aio.js'],
  function (jsmini_event) {
    var EventEmitter = jsmini_event.EventEmitter;

    var ec = new EventEmitter();
  },
);

If you are in a browser environment:

<script src="node_modules/@jsmini/event/dist/index.aio.js"></script>

<script>
  var EventEmitter = jsmini_event.EventEmitter;

  var ec = new EventEmitter();
</script>

API

Contribution Guide

For first time contributors, you need to install the dependencies first.

$ npm install

To build the project:

$ npm run build

To run unit tests:

$ npm test
  • Note: The browser environment needs to be tested manually under test/browser

Modify the version number in package.json, modify the version number in README.md, modify the CHANGELOG.md, and then release the new version.

$ npm run release

Publish the new version to NPM

$ npm publish --access=public

You may need to modify the following files in your project:

  • The messages in README.md
  • The messages in package.json
  • The messages in config/rollup.js
  • The repository name in test/browser/index.html

Update Log

CHANGELOG.md

Future Plans

TODO.md

Current Users