# sparkles

> Namespaced global event emitter

Latest version **2.1.0** (published 2024-03-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install sparkles
pnpm add sparkles
yarn add sparkles
bun add sparkles
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.0 |
| Published | 2024-03-23 |
| First published | 2014-12-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 10.13.0 |
| Dependencies | 0 |
| Unpacked size | 5.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Gulp Team |
| Maintainers | sttk, phated, yocontra |
| Keywords | ee, emitter, events, global, namespaced |

## Links

- npm: https://www.npmjs.com/package/sparkles
- Repository: https://github.com/gulpjs/sparkles
- Homepage: https://github.com/gulpjs/sparkles#readme
- Issues: https://github.com/gulpjs/sparkles/issues
- npm.io page: https://npm.io/package/sparkles

## Alternatives

- [async-exit-hook](https://npm.io/package/async-exit-hook.md) — 3.7M weekly downloads
- [evnty](https://npm.io/package/evnty.md) — 7.2K weekly downloads
- [eleventy-plugin-asciidoc](https://npm.io/package/eleventy-plugin-asciidoc.md) — 3.5K weekly downloads
- [@jswork/next-get2get](https://npm.io/package/@jswork/next-get2get.md) — 945 weekly downloads
- [@dashersw/axon](https://npm.io/package/@dashersw/axon.md) — 934 weekly downloads

## Recent versions

- 2.1.0 (latest) — 2024-03-23
- 2.0.0 — 2022-02-01
- 1.0.1 — 2018-05-14
- 1.0.0 — 2015-09-08
- 0.1.0 — 2015-01-29
- 0.0.0 — 2014-12-09

## README

<p align="center">
  <a href="http://gulpjs.com">
    <img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
  </a>
</p>

# sparkles

[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]

Namespaced global event emitter

## Usage

Sparkles exports a function that returns a singleton `EventEmitter`.
This EE can be shared across your application, whether or not node loads
multiple copies.

Note: If you put an event handler in a file in your application, that file must be loaded in via an import somewhere in your application, even if it's not directly being used. Otherwise, it will not be loaded into memory.

```js
var sparkles = require('sparkles')(); // make sure to call the function

sparkles.on('my-event', function (evt) {
  console.log('my-event handled', evt);
});

sparkles.emit('my-event', { my: 'event' });
```

## API

### sparkles(namespace)

Returns an EventEmitter that is shared amongst the provided namespace. If no namespace
is provided, returns a default EventEmitter.

### sparkles.exists(namespace);

Checks whether a namespace exists and returns true or false.

## Why the name?

This is a "global emitter"; shortened: "glitter" but it was already taken; so we got sparkles instead :smile:

## License

MIT

<!-- prettier-ignore-start -->
[downloads-image]: https://img.shields.io/npm/dm/sparkles.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/sparkles
[npm-image]: https://img.shields.io/npm/v/sparkles.svg?style=flat-square

[ci-url]: https://github.com/gulpjs/sparkles/actions?query=workflow:dev
[ci-image]: https://img.shields.io/github/actions/workflow/status/gulpjs/sparkles/dev.yml?branch=master&style=flat-square

[coveralls-url]: https://coveralls.io/r/gulpjs/sparkles
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/sparkles/master.svg?style=flat-square
<!-- prettier-ignore-end -->

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