node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป



"The Bat"

The Bat


This package handles player configuration logic for plugins within the players studio module. It is designed to manipulate the player configuration in tandem to the existing - this allows us to continuously offload functionality from within the studio module into this project without any loss of functionality.

Currently, only (a subset of) the "first class" plugins within the studio view uses this module. The customer-facing studio CoffeeScript creates a view state object and sends it to the plugin-specific configuration handler. From the view state, the player configuration is modified as needed and sent to Topper Harley.

In order to support working in parallel with the studio's existing player configuration model (which also makes modifications to the preview configuration on Topper Harley), the module exposes the fetch() method to synchronize any external updates to the configuration and assure this module maintains a clean & fresh internal onfiguration.

Installation / Development

To install:

npm install

To run tests:

npm test

To lint files:

npm run lint

To run code coverage:

npm run coverage


Builds are automatically tested through TeamCity and their results are automatically posted onto pending pull requests.

To version this package:

npm version patch #or major or minor
git push --tags origin master


This is the planned API. It is not fully implemented or final.

  • player.initialize

  • player.fetch

  • player.publish

  • player.discard

  • player._oldPublish (delete when no longer needed by old studio)


  • player.deletePlayer

  • player.isPublished

  • player.containsUnpublishedPlugins

  • player.getName

  • player.getDescription

  • player.getId

  • player.getAccountId

  • player.getCreatedAt

  • player.getEmbedCount

  • player.getUrl

  • player.getPublishRequest

  • player.setName

  • player.setDescription

  • player.preview.removeConfigProperty

  • player.preview.applyConfigProperty

  • player.preview.removePlugin

  • player.preview.getVersion

  • player.preview.getVersionAlias

  • player.preview.getConfigProperty

  • player.preview.getPlugin

  • player.preview.getPreviewUrl

  • player.preview.setVersion

  • player.preview.setVersionAlias

  • player.preview.setConfigProperty

  • player.preview.setPlugin

  • player.master.getPlugin

  • player.master.getVersion

  • player.master.getVersionAlias

  • player.master.getConfigProperty

  • player.master.getPreviewUrl