Want to contribute? Great! Check the guidelines below.
- node.js - evented I/O for the backend
- Typescript - a strict syntactical superset of JavaScript, and adds optional static typing to the language
- Jest - a testing framework
- RamdaJS - a library designed specifically for a functional programming style, one that makes it easy to create functional pipelines, one that never mutates user data
- ESLint: a fully pluggable tool for identifying and reporting on patterns in JavaScript
- Prettier: an opinionated code formatter
Checkout the repository
Open your favorite Terminal and run these commands:
cd data-structures-and-algorithms
npm install
npm run test:coverage
Run eslint on all ts files:
$ npm run lint
Run typescript typechecking:
$ npm run typecheck
Run unit tests:
$ npm test
Run unit tests in watch mode:
$ npm run test:watch
Run unit tests with coverage:
$ npm run test:coverage
Run lint, typechecking and tests:
$ npm run check
Run prettier formatting:
$ npm run format
Before submitting a pull request, please make sure the following is done:
- Fork the repository and create your branch from
master
. - Run
npm install
in the repository root. - If you've fixed a bug or added code that should be tested, add tests!
- Ensure the test suite passes (
npm test
). Tip:npm run test:watch TestName
is helpful in development. - Format your code with prettier (
npm run format
). - Make sure your code lints (
npm run lint
). - Run the Typescript typechecking (
npm run typecheck
). - Follow commit convention.
When you are done with your changes:
git branch -b "YOUR_BRANCH_NAME"
git add --all
git commit -a -m "commit message"
git push -u origin "YOUR_BRANCH_NAME"
and create a pull request from github