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 - Devin 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.jsonfile.
- 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.jsontohttps://github.com/sendbird/SendBird-Desk-SDK-JavaScriptrepo 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)