We're so excited you're interested in helping with SuperTokens! We are happy to help you get started, even if you don't have any previous open-source experience 😊
- Take a look at How to Contribute to an Open Source Project on GitHub
- Go through the SuperTokens Code of Conduct
- Check our Github Issues to see if someone has already answered your question.
- Join our community on Discord and feel free to ask us your questions
You will need to setup the supertokens-core
in order to to run the backend-sdk-testing
tests, you can setup supertokens-core
by following this guide
Note: If you are not contributing to the supertokens-core
you can skip steps 1 & 4 under Project Setup of the supertokens-core
contributing guide.
You will need to fork/clone the supertokens-node
and supertokens-python
.
git clone https://github.com/supertokens/supertokens-node.git
git clone https://github.com/supertokens/supertokens-python.git
- OS: Linux or macOS
- Nodejs 16 & npm
- Python 3 & pip
- Golang
- IDE: VSCode(recommended) or equivalent IDE
- Fork the backend-sdk-testing repository
- Clone the forked repository in the parent directory of the previously setup
supertokens-root
,supertokens-node
andsupertokens-python
.
backend-sdk-testing
,supertokens-root
,supertokens-node
andsupertokens-python
should exist side by side within the same parent directory cd backend-sdk-testing
- Install the project dependencies
npm i -d && npm run set-up-hooks
- Build packages
npm run build-pretty
- Open the
backend-sdk-testing
project in your IDE and you can start modifying the code - After modifying the code, build your project to implement your changes
npm run build-pretty
- Navigate to the
supertokens-root
repository - Start the testing environment
./startTestEnv --wait
- Navigate to the
supertokens-node
repository - Start the API test server, and keep it running
cd test/test-server && npm i && npm run start
- In another terminal run all tests against node-sdk
INSTALL_PATH=../supertokens-root npm test
TODO
TODO
- Before submitting a pull request make sure all tests have passed
- Reference the relevant issue or pull request and give a clear description of changes/features added when submitting a pull request
- Make sure the PR title follows conventional commits specification
SuperTokens is made possible by a passionate team and a strong community of developers. If you have any questions or would like to get more involved in the SuperTokens community you can check out:
Additional resources you might find useful: