- Our style is based on prettier and the ESLint recommended rules, with some minor customizations. This is auto-enforced and can usually be applied by running
npm run fix
. - Commits must follow the Angular commit message guidelines. We use semantic-release to release versions to
npm
, update the changelog, etc. Following these guidelines is simplified by using the Commitizen CLI with thecz-conventional-changelog
adapter. - Exported functions should include JSDoc comment headers defining @param and @returns values.
- You are welcome to submit an issue with a bug report or a feature request.
- If you are reporting a bug, please indicate which version of the package you are using and provide steps to reproduce the problem.
- If you are submitting a feature request, please indicate if you are willing or able to submit a PR for it.
If you want to contribute to the repository, follow these steps:
- Fork the repo.
- Verify that everything is working before you start developing:
npm ci
, thennpm run all
- Make your changes. Please follow our style guidelines and leave comments where appropriate. Be sure to update all applicable files.
- Add one or more tests for your changes. Only refactoring, documentation, or build changes require no new tests.
- Make sure that the project still builds and tests cleanly:
npm run all
- Once your tests are passing, commit changes with an appropriate commit message.
- Push to your fork and open a pull request. Describe your changes and the motivation for them.
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.