Skip to content

Latest commit

 

History

History
74 lines (61 loc) · 3.24 KB

CONTRIBUTING.md

File metadata and controls

74 lines (61 loc) · 3.24 KB

Contributing

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 😊

New to Open Source?

  1. Take a look at How to Contribute to an Open Source Project on GitHub
  2. Go through the SuperTokens Code of Conduct

Where to ask Questions?

  1. Check our Github Issues to see if someone has already answered your question.
  2. Join our community on Discord and feel free to ask us your questions

Development Setup

Prerequisites

  • OS: Linux or macOS
  • IDE: Android Studio OR VSCode
  • Tools: Flutter SDK installed on your machine

Project Setup

  1. Please setup supertokens-core by following this guide. If you are not contributing to supertokens-core, please skip steps 1 & 4 under "Project Setup" section.
  2. Clone the forked repository in the parent directory of the previously setup supertokens-root. That is, supertokens-flutter and supertokens-root should exist side by side within the same parent directory.
  3. cd supertokens-flutter
  4. Add git pre-commit hooks
    ./setup-pre-commit.sh
    
  5. Ensure all packages are fetched by running flutter pub get or by using your IDE shortcut.

Modifying Code

  1. Open the supertokens-flutter project in the IDE of your choice.
  2. You can start modifying the code.

Testing

  1. Navigate to the supertokens-root repository

  2. Start the testing environment

    ./startTestingEnv --wait
    
  3. In a new terminal, navigate to the supertokens-flutter repository.

  4. Install dependencies required for testing

    cd ./testHelpers/server/
    npm i -d
    
  5. Start the testing server

    TEST_MODE=testing INSTALL_PATH=../../../supertokens-root node .
    
  6. In a new terminal, navigate to the supertokens-flutter repository and run all tests

    flutter 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'
    

Pull Request

  1. Before submitting a pull request make sure all tests have passed
  2. Reference the relevant issue or pull request and give a clear description of changes/features added when submitting a pull request

SuperTokens Community

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: