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
- OS: Linux or macOS
- IDE: Android Studio OR VSCode
- Tools: Flutter SDK installed on your machine
- 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-flutter
andsupertokens-root
should exist side by side within the same parent directory. cd supertokens-flutter
- Add git pre-commit hooks
./setup-pre-commit.sh
- Ensure all packages are fetched by running
flutter pub get
or by using your IDE shortcut.
- Open the
supertokens-flutter
project in the IDE of your choice. - You can start modifying the code.
-
Navigate to the
supertokens-root
repository -
Start the testing environment
./startTestingEnv --wait
-
In a new terminal, navigate to the
supertokens-flutter
repository. -
Install dependencies required for testing
cd ./testHelpers/server/ npm i -d
-
Start the testing server
TEST_MODE=testing INSTALL_PATH=../../../supertokens-root node .
-
In a new terminal, navigate to the
supertokens-flutter
repository and run all testsflutter test --concurrency=1
If you want to run just one test, you can run the following command:
flutter test --concurrency=1 test/supertokens_test.dart --name 'Test custom headers for refreshAPI'
- 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: