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
- OS: macOS
- IDE: XCode
- NodeJS
- Java
- Please setup
supertokens-coreby 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-iosandsupertokens-rootshould exist side by side within the same parent directory. cd supertokens-ios- Add git pre-commit hooks
./setup-pre-commit.sh
- Open the
supertokens-iosproject in XCode by double clicking on./Example/SuperTokensSession.xcworkspace. - You can start modifying the code.
-
Navigate to the
supertokens-rootrepository -
Start the testing environment
./startTestingEnv --wait -
In a new terminal, navigate to the
supertokens-iosrepository. -
Start a node server required for testing
cd ./testHelpers/server/ npm i -d npm i git+https://github.com:supertokens/supertokens-node.git cd ../.. ./testHelpers/startServer ../supertokens-root -
Open a new terminal in
supertokens-iosand run all testsxcodebuild test -enableCodeCoverage YES -workspace testHelpers/testapp/SuperTokensSession.xcworkspace -scheme SuperTokensSession-Example -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=16.1,name=iPhone 14 Pro' ONLY_ACTIVE_ARCH=NOAlternatively, you can also run all tests via XCode. The tests are present in the
testHelpers/testappproject. -
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
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: