Contribution

May 29, 2022

Development

Build and debugging

In order to run full build of all bundles run:

npm run build

This script will create all types of build:

  • browser compressed
  • browser debugging
  • nodejs compressed (do we need it? :) )
  • nodejs debugging

Also, you can run a specific build for each platform separately:

npm run build-prod-browser
npm run build-prod-node
npm run build-dev-browser
npm run build-dev-node

For debugging purposes it should be convenient to use the watch mode:

npm run watch-prod-browser
npm run watch-prod-node
npm run watch-dev-browser
npm run watch-dev-node

Running tests

In order to run unit tests run:

npm run test

In order to run unit tests with coverage run:

npm run coverage

It will build a beautiful code coverage report which you can check by running html file coverage/lcov-report/index.html.

Releasing

There is a “feature branches” support implemented in Travis CI. Commit checks are visible in commits and pull requests in GitHub.

In order to release a new version you need to create a version tag and push it to master via next scripts:

npm run release # creates a new release commit
git push origin master --follow-tags # pushes a release commit to master branch including version tag

This command bumps up the library version, builds the changelog and makes a new commit with a “version” tag. Using this tag travis will prepare and publish the npm package.

Please note, that release happens only on master branch for a tagged commit.

Git workflow

Commits

Commits should follow the “conventional commit” agreement. It will be validated by Husky plugin on pre-commit git hook.

Branches and pull requests

Feel free to do anything you want in branches. All final commits should be rebased and clean. Please, create pull request for delivering your changes to master. All PR checks should be green. All sonar suggestions should be resolved and/or discussed if not applicable.