Skip to content

Latest commit

History

History
97 lines (64 loc) 路 2.28 KB

CONTRIBUTING.md

File metadata and controls

97 lines (64 loc) 路 2.28 KB

Contributing

Want to contribute? Great! Check the guidelines below.

Tech

  • 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

Development

Checkout the repository

Open your favorite Terminal and run these commands:

cd data-structures-and-algorithms

npm install

npm run test:coverage

Important commands:

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

Pull Request Guidelines

Before submitting a pull request, please make sure the following is done:

  1. Fork the repository and create your branch from master.
  2. Run npm install in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (npm test). Tip: npm run test:watch TestName is helpful in development.
  5. Format your code with prettier (npm run format).
  6. Make sure your code lints (npm run lint).
  7. Run the Typescript typechecking (npm run typecheck).
  8. 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