{"id":14982041,"url":"https://github.com/gulpjs/sparkles","last_synced_at":"2026-03-04T20:02:15.238Z","repository":{"id":24346403,"uuid":"27744406","full_name":"gulpjs/sparkles","owner":"gulpjs","description":"Namespaced global event emitter.","archived":false,"fork":false,"pushed_at":"2024-03-23T21:42:39.000Z","size":30,"stargazers_count":20,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-29T15:14:35.234Z","etag":null,"topics":["command-line","eventemitter","global","gulpjs","javascript","namespace","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"OCA/partner-contact","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gulpjs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["gulpjs","phated","yocontra"],"tidelift":"npm/gulp","open_collective":"gulpjs"}},"created_at":"2014-12-09T01:47:12.000Z","updated_at":"2024-03-23T20:44:32.000Z","dependencies_parsed_at":"2024-04-01T17:12:56.568Z","dependency_job_id":null,"html_url":"https://github.com/gulpjs/sparkles","commit_stats":{"total_commits":31,"total_committers":5,"mean_commits":6.2,"dds":"0.22580645161290325","last_synced_commit":"d4afc77d45bae5de6aca01bf9628c839eeb2f903"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gulpjs%2Fsparkles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gulpjs%2Fsparkles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gulpjs%2Fsparkles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gulpjs%2Fsparkles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gulpjs","download_url":"https://codeload.github.com/gulpjs/sparkles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243682849,"owners_count":20330504,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","eventemitter","global","gulpjs","javascript","namespace","nodejs"],"created_at":"2024-09-24T14:04:41.232Z","updated_at":"2026-03-04T20:02:10.202Z","avatar_url":"https://github.com/gulpjs.png","language":"JavaScript","funding_links":["https://github.com/sponsors/gulpjs","https://github.com/sponsors/phated","https://github.com/sponsors/yocontra","https://tidelift.com/funding/github/npm/gulp","https://opencollective.com/gulpjs"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://gulpjs.com\"\u003e\n    \u003cimg height=\"257\" width=\"114\" src=\"https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# sparkles\n\n[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]\n\nNamespaced global event emitter\n\n## Usage\n\nSparkles exports a function that returns a singleton `EventEmitter`.\nThis EE can be shared across your application, whether or not node loads\nmultiple copies.\n\nNote: 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.\n\n```js\nvar sparkles = require('sparkles')(); // make sure to call the function\n\nsparkles.on('my-event', function (evt) {\n  console.log('my-event handled', evt);\n});\n\nsparkles.emit('my-event', { my: 'event' });\n```\n\n## API\n\n### sparkles(namespace)\n\nReturns an EventEmitter that is shared amongst the provided namespace. If no namespace\nis provided, returns a default EventEmitter.\n\n### sparkles.exists(namespace);\n\nChecks whether a namespace exists and returns true or false.\n\n## Why the name?\n\nThis is a \"global emitter\"; shortened: \"glitter\" but it was already taken; so we got sparkles instead :smile:\n\n## License\n\nMIT\n\n\u003c!-- prettier-ignore-start --\u003e\n[downloads-image]: https://img.shields.io/npm/dm/sparkles.svg?style=flat-square\n[npm-url]: https://www.npmjs.com/package/sparkles\n[npm-image]: https://img.shields.io/npm/v/sparkles.svg?style=flat-square\n\n[ci-url]: https://github.com/gulpjs/sparkles/actions?query=workflow:dev\n[ci-image]: https://img.shields.io/github/actions/workflow/status/gulpjs/sparkles/dev.yml?branch=master\u0026style=flat-square\n\n[coveralls-url]: https://coveralls.io/r/gulpjs/sparkles\n[coveralls-image]: https://img.shields.io/coveralls/gulpjs/sparkles/master.svg?style=flat-square\n\u003c!-- prettier-ignore-end --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgulpjs%2Fsparkles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgulpjs%2Fsparkles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgulpjs%2Fsparkles/lists"}