Any and all contributions are welcome! This is a decently sized project with a good scoped of functionality.
- Create a fork of the repository
- Clone the code to your local machine
- Create a new branch with the feature you are working on (e.g. WebSocket-Interceptor) or with the issue number (e.g. issue/42)
- Run
pnpm i
- Implement your changes, ensure tests are still passing, or add tests if it is a new feature
- Push back to your version on GitHub
- Raise a Pull Request to the main repository
All the source code is in src
as expected. Most of the code should be rather self documented.
To run a basic dev server you can use start:dev
to run nodemon
and ts-node
. All tests should be running through jest
using test:e2e
otherwise.
If you need to run tests for a specific context, use pnpm test:e2e <type>
(one of: controller, ws, gql) e.g. pnpm test:e2e controller
will run the e2e tests for the HTTP guard.
We are using Conventional Commit to help keep commit messages aligned as development continues. The easiest way to get acquainted with what the commit should look like is to run yarn commit
which will use the git-cz
cli and walk you through the steps of committing. Once you've made your commit, prettier and eslint will run and ensure that the new code is up to the standards we have in place.
Please raise an issue, or discuss with me via email or Discord (PerfectOrphan31#6003) before opening a Pull Request so we can see if they align with the goals of the project.