# @jsmini/event

> The best event emitter base class and event center.

Latest version **0.8.0** (published 2023-11-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @jsmini/event
pnpm add @jsmini/event
yarn add @jsmini/event
bun add @jsmini/event
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.8.0 |
| Published | 2023-11-21 |
| First published | 2018-04-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=14.0.0 |
| Dependencies | 1 |
| Unpacked size | 44.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 2 |
| Author | yanhaijing |
| Maintainers | yanhaijing |
| Keywords | event, events, event-emitter, emitter, EventEmitter, EventEmitter2, EventFire, EventHub, event driven, on, emit, trigger, pubsub, listener |

## Links

- npm: https://www.npmjs.com/package/@jsmini/event
- Repository: https://github.com/jsmini/event
- Homepage: https://github.com/jsmini/event#readme
- Issues: https://github.com/jsmini/event/issues
- npm.io page: https://npm.io/package/@jsmini/event

## Dependencies (1)

- [@jsmini/is](https://npm.io/package/@jsmini/is.md) ^0.10.0

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 0.8.0 (latest) — 2023-11-21
- 0.7.0 — 2023-09-24
- 0.6.3 — 2019-10-09
- 0.6.2 — 2019-10-05
- 0.6.1 — 2019-03-04
- 0.6.0 — 2019-03-02
- 0.5.1 — 2018-04-10
- 0.5.0 — 2018-04-08

## README

# [event](https://github.com/jsmini/event)

[![](https://img.shields.io/badge/Powered%20by-jslib%20base-brightgreen.svg)](https://github.com/yanhaijing/jslib-base)
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/jsmini/event/blob/master/LICENSE)
[![CI](https://github.com/jsmini/event/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/jsmini/event/actions/workflows/ci.yml)
[![npm](https://img.shields.io/badge/npm-0.8.0-orange.svg)](https://www.npmjs.com/package/@jsmini/event)
[![NPM downloads](http://img.shields.io/npm/dm/@jsmini/event.svg?style=flat-square)](http://www.npmtrends.com/@jsmini/event)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/jsmini/event.svg)](http://isitmaintained.com/project/jsmini/event 'Percentage of issues still open')

The best event emitter and center, native compatible IE6

[Chinese README](https://github.com/jsmini/event/blob/master/README_CN.md)

## 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.

```bash
$ npm install --save @jsmini/event
```

If you are in a node enviroment：

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

var ec = new EventEmitter();
```

If you are in a webpack or similar environment：

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

var ec = new EventEmitter();
```

If you are in a requirejs environment:

```js
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:

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

<script>
  var EventEmitter = jsmini_event.EventEmitter;

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

##

[API](https://github.com/jsmini/event/blob/master/doc/api.md)

## Contribution Guide

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

```bash
$ npm install
```

To build the project:

```bash
$ npm run build
```

To run unit tests:

```bash
$ 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.

```bash
$ npm run release
```

Publish the new version to NPM

```bash
$ 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](https://github.com/jsmini/event/blob/master/CHANGELOG.md)

## Future Plans

[TODO.md](https://github.com/jsmini/event/blob/master/TODO.md)

## Current Users

---
_Source: https://npm.io/package/@jsmini/event · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
