npm package: @playkit-js/media-melon
Description: playkit-js-media-melon allows to send analytics to Media-Melon site. it is a plugin for [kaltura player] which relies on [kaltura player] core API for managing UI features.
Latest version: 1.0.16

# playkit-js-media-melon

playkit-js-media-melon allows to send analytics to Media-Melon site.
it is a plugin for [kaltura player] which relies on [kaltura player] core API for managing UI features.

playkit-js-media-melon is written in [ECMAScript6] (`*.js`) and [TypeScript] (`*.ts`) (strongly typed superset of ES6),
and transpiled in ECMAScript5 using [Babel](https://babeljs.io/) and the [TypeScript compiler].

[Webpack] is used to build the distro bundle and serve the local development environment.

[kaltura player]: https://github.com/kaltura/kaltura-player-js.
[ecmascript6]: https://github.com/ericdouglas/ES6-Learning#articles--tutorials
[typescript]: https://www.typescriptlang.org/
[typescript compiler]: https://www.typescriptlang.org/docs/handbook/compiler-options.html
[webpack]: https://webpack.js.org/

## Configuration

```js
{
    "plugins": {
        "mediaMelon": {
            "customerId": "13145423100",
            "domainName": "",
            "subscriberTag": "",
            "subscriberId": "",
            "subscriberType": "",
            "playerName": "",
            "playerVersion": "",
            "playerBrand": "",
            "playerModel": "",
            "videoAssetInfo": {
                "assetId": "",
                "assetName": "",
                "videoId": "",
                "seriesTitle": "",
                "episodeNumber": "",
                "season": "",
                "contentType": "",
                "drmProtection": "",
                "genre": ""
            },
            "appName": "",
            "appVersion": "",
            "deviceMarketingName": "",
            "videoQuality": "",
            "deviceId": "",
            "customTags": {}            
        }
    }
}
```

## Getting started with development

```sh
# First, checkout the repository and install the required dependencies
git clone https://github.com/Kaltura-PS/playkit-js-media-melon.git

# Navigate to the repo dir
cd playkit-js-media-melon

# Run dev-server for demo page (recompiles on file-watch, and write to actual dist fs artifacts)
yarn
yarn build
yarn dev

# Before submitting a PR - Run the pre commit command
npm run pre:commit

# this command will run:

# 1. types check
# 2. lint check
# 3. generate/update types
# 4. generate/update docs
```

The dev server will host files on port 8000. Once started, the demo can be found running at http://localhost:8000/.

Before submitting a PR, please see our [contribution guidelines](CONTRIBUTING.md).

### Linter (ESlint)

Run linter:

```
npm run lint:check
```

Run linter with auto-fix mode:

```
yarn run lint:fix
```

### Formatting Code

Run prettier to format code

```
yarn run prettier:fix
```

### Type Check

Run type-check to verify TypeScript types

```
yarn run types:check
```

### Automated tests (Mocha/Karma)

Run all tests at once:

```
yarn test
```

Run unit tests in watch mode:

```
yarn run test:watch
```

## Design

An overview of this project's design, can be found [here](https://kaltura.atlassian.net/wiki/spaces/PROD/pages/3554412657/Side+Panel+Manager+-+Design+Document).

## API docs

[API docs](https://kaltura.github.io/playkit-js-media-melon/docs/api/index.html)


## Demo

[https://kaltura.github.io/playkit-js-media-melon/demo/index.html](https://kaltura.github.io/playkit-js-media-melon/demo/index.html)

## Compatibility

playkit-js-media-melon is only compatible with browsers supporting MediaSource extensions (MSE) API with 'video/MP4' mime-type inputs.

Supported on:

- Chrome 39+ for Android
- Chrome 39+ for Desktop
- Firefox 41+ for Android
- Firefox 42+ for Desktop
- IE11 for Windows 8.1+
- Edge for Windows 10+
- Safari 8+ for MacOS 10.10+
- Safari for ipadOS 13+

## License

playkit-js-media-melon is released under [Apache 2.0 License](LICENSE)