This project provides SendBird Desk SDK for JavaScript which includes SendBird messaging SDK for JavaScript, SendBird Desk SDK Core, and SendBird Desk Widget sample
Note: Make sure you have node-js 18 and npm v9 or higher installed
npm install
npm run build
Note: We use dts-bundle-generator
because we need a single
d.ts
file for the SDK. rollup-plugin-typescript2
errors out
when we try to use declaration: true
in tsconfig.json
.
Copy .env.example
to .env
and fill in the values.
These variables should be setup in circle-ci as well. https://app.circleci.com/settings/project/github/sendbird/desk-js/environment-variables
Note: env variables can be found in 1password - engineering/desk_staging_e2e_test To login as admin in dashboard use
E2E Admin - Dev
in 1password
We use jest with js-dom for testing
Test cases are located in test/cases
directory and are named `*.test.ts
Note: Try not to run tests in auto-watch mode. We would be connecting and disconnecting to the server for each test case
npm run test
- Make sure main branch is up-to-date.
- Cut a release branch -
release/v#.#.##
. - On release branch:
- Prepare changelog
- Update version in
package.json
file.
- Make PR to main branch. { optional steps
- Make release ->
npm run build; npm publish --tag beta
- Check release candidate is good to go. }
- Merge PR to main branch.
- Make release ->
npm run build; npm publish
- Add release note to github release.
- Copy
CHANGELOG
,LICENSE
,dist
&package.json
tohttps://github.com/sendbird/SendBird-Desk-SDK-JavaScript
repo main branch.
npm run format
or
(in Visual Studio Code)
Install Prettier - Code formatter
plugin.
Open file to adjust prettier, select all(cmd+a
), and cmd+k, cmd+f
.
npm run lint
- Modern browsers supporting ES6+ (Chrome, FireFox, Edge, Safari, etc)
- Mobile browsers (Android/iOS)