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 thorugh 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
- Node.js v16.x & npm
- IDE: VSCode(recommended) or equivalent IDE
- Please setup
supertokens-core
by following this guide. If you are not contributing tosupertokens-core
, please skip steps 1 & 4 under "Project Setup" section. - Clone the forked repository in the parent directory of the previously setup
supertokens-root
. That is,supertokens-react-native
andsupertokens-root
should exist side by side within the same parent directory. cd supertokens-react-native
- Install the project dependencies
npm i -d
- Add git pre-commit hooks
npm run set-up-hooks
- Open the
supertokens-react-native
project in your IDE. - You can start modifying the code.
- After modification, you need to build the project:
npm run build-pretty
-
Navigate to the
supertokens-root
repository -
Start the testing environment
./startTestingEnv --wait
-
In a new terminal, navigate to the
supertokens-react-native
repository. -
Setup the node server required for testing. In the last command, put your github username instead of
<your username>
cd ./TestingApp/test/server/ npm i -d npm i git+https://github.com:supertokens/supertokens-node.git cd ../../ npm i -d cp -r ./test/tough-cookie ./node_modules/ npm i git+https://github.com:<your username>/supertokens-react-native.git
-
Add a static entry for
127.0.0.1 localhost.org
in your/etc/hosts
file -
Navigate to
supertokens-react-native/TestingApp
and run all testsINSTALL_PATH=../../supertokens-root npm test
-
If all tests pass the output should be:
- 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: