- Make sure you are running node.js >= v6.
- Make sure you have an editorconfig plugin installed for your text editor
- Make sure you have a standard js linter installed, tests will not pass if linting fails
- Make sure you are familiar with ES6
- Make sure you are familiar with test-driven development
NOTE: This project uses Standard.js to check for code consistency.
Badly formatted code is; under no circumstance; allowed to hit the remote repo. We have precautions in place to prevent this, namely:
- Automated tests will first lint the code. If the code is badly formatted, the tests will fail.
- We use Husky to run a linting step before every
git commit
In the case of badly formatted code, we might ask you to squash your commits
When submitting a pull request, please be sure to add passing tests for any new logic.
We have chosen AVA as our test harness. Since AVA runs tests concurrently, and runs individual test files in parallel (What's the difference?), there are some conventions we've established to prevent any errors when running asynchronous tests:
- If you have two tests that each test their own fixture, those tests should be placed in different files.
- AVA tests are flat in nature. If you feel the need to use
describe
-like nesting functionality (from the likes of Mocha, for example) then create a new test file and pretend it is yourdescribe
block.