|
| 1 | +# How to contribute |
| 2 | + |
| 3 | +The [ExtendIt.js](README.md) project welcomes contributions of any form |
| 4 | +as long as you respect our [code of conduct](CODE_OF_CONDUCT.md) and stay in line with |
| 5 | +the following instructions and guidelines. |
| 6 | + |
| 7 | +If you have suggestions, ideas, feature requests, or if you have identified |
| 8 | +a malfunction or error, then please |
| 9 | +[post an issue](https://github.com/forman/extendit/issues). |
| 10 | + |
| 11 | +If you'd like to submit code or documentation changes, we ask you to provide a |
| 12 | +[PR](https://github.com/forman/extendit/pulls). |
| 13 | +For code and configuration changes, your PR must be linked to a |
| 14 | +corresponding issue. |
| 15 | + |
| 16 | +To ensure that your code contributions are consistent with our project’s |
| 17 | +coding guidelines, please make sure all applicable items of the following |
| 18 | +checklist are addressed in your PR. |
| 19 | + |
| 20 | +**PR checklist** |
| 21 | + |
| 22 | +* Use language [TypeScript](https://www.typescriptlang.org/) using the same |
| 23 | + [configuration](tsconfig.json) as we do. |
| 24 | +* Format code using [prettier](https://prettier.io/) using the same |
| 25 | + [configuration](.prettierrc.json) as we do. |
| 26 | +* Inspect code using [eslint](https://eslint.org/) using the same |
| 27 | + [configuration](.eslintrc.cjs) as we do. |
| 28 | + `npm run lint` must run without errors. |
| 29 | +* Your change shall not break existing unit tests. |
| 30 | + `npm run test` must run without errors. |
| 31 | +* Add unit tests for any new code not yet covered by tests |
| 32 | + using [vitest](https://vitest.dev/). |
| 33 | + If you add new modules make sure you add a test module |
| 34 | + `<name>.test.ts` for each next to it. |
| 35 | +* Make sure test coverage is at 100% for any change. |
| 36 | + Use `npm run coverage` to verify. |
| 37 | +* If you add or change new public API components, add or change API |
| 38 | + documentation accordingly using |
| 39 | + [TSDoc](https://tsdoc.org/). |
| 40 | + `npm run typedoc` must run without errors. |
| 41 | +* If your change affects the current project documentation, |
| 42 | + (currently only the [README](README.md) file) |
| 43 | + please adjust it and include the change in the PR. |
0 commit comments