@img-arena/front-row-seat

IMG Arena Front Row Seat integration SDK

Usage no npm install needed!

<script type="module">
  import imgArenaFrontRowSeat from 'https://cdn.skypack.dev/@img-arena/front-row-seat';
</script>

README

Front Row Seat Integration Library

🏌️‍♀️ 🤼‍♀️

A web based library for handling the integration of the event centres with sportsbooks. The library will initially be tasked with handling the communication between sportsbooks and the event centres app. These communications will predominately be for UI synchronisation, ie. bet slip selections being mirrored in both UIs.

npm i @img-arena/front-row-seat
yarn add @img-arena/front-row-seat

Contributing

yarn
yarn start:dev

Testing

There are both unit tests and some integration tests. The testing of iframe's in JSDOM is complicated but possible, so as it stands cypress is being used to test the iframe side of things (postMessage).

To run the unit tests:

yarn test:unit

To run the integration tests in headless mode:

yarn cy

To open the Cypress UI to watch the browser automation run:

yarn cy:open

Publishing

The package is automatically published to the npm registry when PRs are merged to master, the version changes are based on commit message syntax; see below.

Commit Style

This repo follows the Conventional Commit format. This is so that we can automatically figure out what the SemVer release tag should be. Note that commits must be in this format, we use Husky to enforce this.

$ git commit -m "feat(frs-123): added some super cool feature"

Commits and SemVer tags are directly linked, if you want a commit to not be evaluated in whether or not the semver version should change, add " [skip ci]" to the end of the commit message - https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/

Commitzen

This repo is Commitzen compatible, if you wish to use it instead of writing the commit via git commit -m ... try cz after git add.

https://github.com/commitizen/cz-cli#installing-the-command-line-tool