shipshapecode/tether

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
# Contributing Guide

You will need:

- [Yarn](https://yarnpkg.com/)

Windows users will need additional setup to enable build capabilities in NPM.
From an administrative command window:

```sh
    yarn global add windows-build-tools
```

## Getting started

1. Fork the project
2. Clone your forked project by running `git clone git@github.com:{
   YOUR_USERNAME }/tether.git`
3. Run `yarn` to install node modules
4. Test that you can build the source by running `yarn build` and ensure the `dist` directory appears.

## Writing code!

We use `rollup` to facilitate things like transpilation, minification, etc. so
you can focus on writing relevant code. If there is a fix or feature you would like
to contribute, we ask that you take the following steps:

1. Most of the _editable_ code lives in the `src` directory while built code
   will end up in the `dist` directory upon running `yarn build`.

2. Some examples are served out of the `examples` directory. Running `yarn start` will open the list in your browser and initiate a live-reloading session as you make changes.


## Opening Pull Requests

1. Please Provide a thoughtful commit message and push your changes to your fork using
   `git push origin master` (assuming your forked project is using `origin` for
   the remote name and you are on the `master` branch).

2. Open a Pull Request on GitHub with a description of your changes.


## Testing

All PRs, that change code functionality, are required to have accompanying tests.

### Acceptance Tests

Acceptance tests are run using [`cypress`](https://github.com/cypress-io/cypress). A number of different testing configurations can be found in [`package.json`](/package.json), but you can simply run `yarn test:ci:watch` to build your latest changes and begin running the tests inside a Chrome browser instance.

⚠️ The acceptance tests are set up to run on `localhost` port `9002`. If you'd like to change this port, make sure to change the `baseUrl` option inside of [`cypress.json`](/cypress.json), and change any references to port `9002` in [`package.json`](/package.json) accordingly.