Contributor's guide

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  • Before jumping into a PR be sure to search existing PRs or issues for an open or closed item that relates to your submission.

Priorities

Type of issuePriority
Minor improvements, non-core feature requests
Confusing UX (... but working)
Core Features (Booking page, availabilty, timezone calculation)
Core Bugs (Login, Booking page, Emails are not working)

Developing

The development branch is main. This is the branch that all pull requests should be made against. The changes on the main branch are tagged into a release monthly.

To develop locally:

  1. Fork this repository to your own GitHub account and then clone it to your local device.

  2. Create a new branch:

    git checkout -b MY_BRANCH_NAME
    
  3. Install yarn:

    npm install -g yarn
    
  4. Install the dependencies with:

    yarn
    
  5. Start developing and watch for code changes:

    yarn dev
    

Building

You can build the project with:

yarn build

Please be sure that you can make a full production build before pushing code.

Testing

More info on how to add new tests coming soon.

Running tests

This will run and test all flows in multiple Chromium windows to verify that no critical flow breaks:

yarn test-e2e

Linting

To check the formatting of your code:

yarn lint

If you get errors, be sure to fix them before committing.

Making a Pull Request

Guidelines for committing yarn lockfile

Do not commit your yarn.lock unless you've made changes to the package.json. If you've already committed yarn.lock unintentionally, follow these steps to undo:

If your last commit has the yarn.lock file alongside other files and you only wish to uncommit the yarn.lock:

git checkout HEAD~1 yarn.lock
git commit -m "Revert yarn.lock changes"

If you've pushed the commit with the yarn.lock:

  1. Correct the commit locally using the above method.
  2. Carefully force push:
git push origin <your-branch-name> --force

If yarn.lock was committed a while ago and there have been several commits since, you can use the following steps to revert just the yarn.lock changes without impacting the subsequent changes:

  1. Checkout a Previous Version:

    • Find the commit hash before the yarn.lock was unintentionally committed. You can do this by viewing the Git log:
      git log yarn.lock
      
    • Once you have identified the commit hash, use it to checkout the previous version of yarn.lock:
      git checkout <commit_hash> yarn.lock
      
  2. Commit the Reverted Version:

    • After checking out the previous version of the yarn.lock, commit this change:
      git commit -m "Revert yarn.lock to its state before unintended changes"
      
  3. Proceed with Caution:

    • If you need to push this change, first pull the latest changes from your remote branch to ensure you're not overwriting other recent changes:
      git pull origin <your-branch-name>
      
    • Then push the updated branch:
      git push origin <your-branch-name>
      

Was this page helpful?