- Getting Set up
- Building Samples and Packages
- Running a Sample or Storybook
- Testing your changes
- Writing unit tests
- Submitting a PR
- Having your changes published
-
Install Node.js (16.19.0 and above).
-
(Recommended) Install Visual Studio Code (Stable Build).
-
Install Rush, in a terminal of your choosing, run:
npm i -g @microsoft/rush
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
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
orrush update:stable
depending on the flavor you are using.
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