Skip to content

Latest commit

 

History

History
68 lines (45 loc) · 2.63 KB

1. getting-set-up.md

File metadata and controls

68 lines (45 loc) · 2.63 KB

Contribution Guide

  1. Getting Set up
  2. Building Samples and Packages
  3. Running a Sample or Storybook
  4. Testing your changes
  5. Writing unit tests
  6. Submitting a PR
  7. Having your changes published

1. Getting Set up

Prerequisites

Cloning the repo

Clone the repo: https://github.com/Azure/communication-ui-library

# HTTPS
git clone https://github.com/Azure/communication-ui-library.git

# SSH
git clone git@github.com:Azure/communication-ui-library.git

Installing dependencies

Navigate to your cloned repo and install dependencies for all packages and samples. This may take a long time the first time it runs.

# navigate to the repository
cd communication-ui-library/

# install dependencies
rush update:beta

This repository uses two build flavors: beta and stable. These correspond to the beta and stable npm packages we release. To switch between the two, you can run rush switch-flavor:stable or rush switch-flavor:beta. These switch-flavor commands will perform the appropriate rush update:stable or rush update:beta.

rush update command is also available as this is a default rush command we cannot remove. We recommend using rush update:beta or rush update:stable instead to be explicit about the flavor you are updating.

NOTE: When intaking new changes from main, you will often need to reupdate the installed packages. This should be done by running rush update:beta or rush update:stable depending on the flavor you are using.

FAQ

If you are running into issues such as "Filename too long" when setting up the repo. e.g

error: cannot stat 'packages/react-composites/tests/browser/snapshots/stable/tests/browser/callwithchat/CallWithChatComposite.test.ts-snapshots/call-with-chat-more-drawer-new-selected-microphone-screen-Mobile-Android-Portrait-linux.png': Filename too long

We suggest running this command

git config --system core.longpaths true

or without --system git config core.longpaths true