npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

emp-player-receiver

v1.58.0

Published

EMP Receiver

Readme

EMP Receiver documentation

The receiver is compliant with the default chromecast receiver API unless otherwise stated. For information on how to build a sender and other functionality not described here. See https://developers.google.com/cast/docs/sender_apps

Sender tutorials

Development

Starting development

As a developer you need to add custom ui-logic to the receiver-app and customize index.html file. To build the code there are a few requirements

Unix-based systems

sudo npm install -g grunt-cli

Windows

npm install -g grunt-cli

To develop on the SDK, after cloning the repository you need to install the node.js modules using the node package manager

cd sdk
npm install

to build a local copy of the receiver

grunt dist|build // build command has debugging enabled by default.

to generate jsdoc documentation (generated in sdk/docs)

grunt jsdoc

then deploy the reference directory in any webserver and enjoy!

Grunt commands

Several grunt tasks are available for testing, development and distribution

grunt
grunt dev

builds the code and creates a local testing environment (on http://localhost:9999). Also watches the source code for any changes in /src and rebuilds when a change occurs

grunt watchAll

builds the code and creates a local testing environment (on http://localhost:9999). Also watches the source code for any changes in /src and /test and rebuilds when a change occurs

grunt dist

Creates packages available for distribution. in the /dist folder zipped archives can be found of the receiver. In addition to sources file ready for distribution.

Several simple grunt tasks are also available for use in specific cases

grunt jshint #ensures code is compliant with coding standards and warns for any coding issues
grunt jsdoc #creates documentation based on source code comments
grunt uglify #uglifys and minifys source
grunt connect #setup local testing environment (on http://localhost:9999).
grunt zip #creates a zip for distribution of the source
grunt copy #possible variations: build, dist, images. plugins

About the code

Javascript for the Receiver will be written using the new ES6 standard. Using grunt tasks this is then re-written to the ES5 standard where available. To learn more about Es6 see babel. To keep our code clean and separated, we uses Browserify. This allows us to use require statements to import javascript code from other files.

All of the above is done automatically using the grunt build system, but during development one should be aware of the power, and the limitations of both systems.

separate ui-logic

The Receiver has separate ui-logic and playback-logic. emp-receiver playback-logic is installed from a npm package. Run npm install to get all depending npm packages. As a developer you need to add custom ui-logic to the receiver-app and customize index.html file. Receiver-app should implement event listener for METADATA_UPDATED: fire when program changed, should be used to display title and images about the current program. STATE_CHANGED: fire when playback state changed, should be used to display play icon, buffer spinner etc. emp-receiver expose the inner emp-player, other playback event can be handle directly on the emp-player. Receiver-app.js and index.html are samples how to implement a custom emp-receiver.

EmpHtmlPlayer

The receiver makes use of emp-player.