playkit-js-env-manager

PlayKit JS Env Manager - An environment manager to setup playkit-js-* projects across repos

PlayKit JS Env Manager is a command line tool which aims to solve the development challenges for multiple packages (playkit-js-*) that integrates to a single application (Kaltura Player in our case).

Prerequisites

1. Install ttab

First, install ttab globally on your machine:

$ [sudo] npm install ttab -g

Then, go to System Preferences > Security & Privacy, tab Privacy, select Accessibility, unlock, and make sure Terminal.app is in the list on the right and has a checkmark.

2. Clone kaltura-player-js repository

$ git clone https://github.com/kaltura/kaltura-player-js.git
$ cd kaltura-player-js
$ yarn

3. Folder structure

Pay attention that all playkit-js-* repos including kaltura-player-js repo must be under the same parent directory. An example for a valid folder structure is:

- repos
  - playkit-js
  - playkit-js-hls
  - playkit-js-dash
  - playkit-js-ima
  - playkit-js-ui
  - playkit-js-youbora
  - playkit-js-providers
  - playkit-js-kanalytics
  - kaltura-player-js

Quick Start

  "envManager": {
    "devMode": {},
    "releaseMode": []
  }

Configuration

devMode

Commands

Structure

  "devMode": {
    "alias": "version",
    ...
  }
Property Type Possible Values Description
version string 'latest','local','vX.X.X' Specifies the package version that the corresponding repo will checkout to on the local machine. For ‘latest’ it will checkout to the master branch. For ‘local’ it will stay on the current local branch (whatever that is).

Example:

  "devMode": {
    "core": "v0.10.0",
    "ui": "latest",
    "hls": "local"
  }

releaseMode

Commands

Structure

  "releaseMode": [
    "alias1",
    "alias2",
    "alias3",
    ...
  ]

Example:

  "releaseMode": [
    "core",
    "youbora",
    "hls",
    ...
  ]

Compatibility

This tool has been tested only on Mac OS.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the AGPL-3.0 License - see the LICENSE.md file for details