Thanks for being willing to contribute 🙌 If you contribute to this project, you agree to release your work under the license of this project.
Working on your first Pull Request? You can learn how from this First Contributions guide.
- Fork and clone the repo
- Run
npm run install
to install dependencies - Create a branch for your PR with
git checkout -b pr/your-branch-name
- Create
src/yourNewMthod.ts
. You can runnpm run start
to start TS Watch and use NPM Link to real-time test package - Create
tests/yourNewMthod.spec.ts
, runnpm run test:watch
to start the test runner in watch mode and start writing tests for your method - Create
src/docs/yourNewMthod.md
and create documentation for your method - Export your method from
src/index.ts
and add your method toREADME.md
You can also write your tests first if you prefer test-driven development.
- Run
npm run start
to start TS watches and start applying changes - Update tests according to your changes using
npm run test:watch
- Update documentation according to your changes
This repo uses semantic-release and conventional commit messages so prefix your commits with fix:
or feat:
if you want your changes to appear in release notes.
There are git hooks set up with this project that are automatically enabled
when you install dependencies. These hooks automatically test and validate your code when creating commits. They're really handy but can be temporarily disabled by adding a --no-verify
flag to your commit command. This is useful when you want to commit and push to get feedback on uncompleted code.
Please have a look at the open issues and respond to questions, bug reports and feature requests. Thanks!
We're also looking to improve the code coverage on this project. To easily know what methods need tests run npm run test:coverage
to generate a code coverage report. You can see the report in your terminal or open coverage/lcov-report/index.html
to see the HTML report.