# hevy-shared
Common code shared by the other repos.

## Publishing to npm

There are two ways of publishing a new version of `hevy-shared` to npm.

### Automatically

Merging PRs to `master` will automatically trigger the publishing of a new patch version to npm using Github Actions (see .github/workflows). Go to https://www.npmjs.com/package/hevy-shared for more information.

**Important note:** Please do **NOT** merge your `hevy-shared` PRs into `master` until _all_ the other repos (regardless of whether they use npm or Git submodules) which depend on your `hevy-shared` PR have their respective PRs merged into their respective main branches.
Doing so should help avoid type errors and conflicts more than doing it the other way around, even though they can still happen.

### Manually

To publish manually, run `npm run ci-build` _on the branch of your choice_. This is useful if you need to get your changes into a repo which doesn't use Git submodules.

Running the command will print the next unused version number, which should be the version of the newly published package. You will just have to wait until it's actually published before you can install it.
You can run `npm view hevy-shared version` to check the current `latest` version that's available on npm at any given moment.
