Minimal bundle

Instead of using the full, typical package of Web Chat, you can choose a lighter-weight sample with fewer features. This bundle does not contain:

Adaptive Cards

Cognitive Services

Markdown-It

Since Adaptive Cards is not include in this bundle, rich cards that depends on Adaptive Cards will not render, e.g. hero card, receipt card, etc. List of attachments that are not supported without Adaptive Cards can be found here.

Customize Web Chat UI

Web Chat is designed to be customizable without forking the source code. The table below outlines what kind of customizations you can achieve when you are importing Web Chat in different ways. This list is not exhaustive.

Building the project

If you need to build this project for customization purpose, we strongly advise you to refer to our samples. If you cannot find any samples that could fulfill your customization needs and you don't know how to do that, please send your dream to us.

Forking Web Chat for customizations means you will lose access to our latest updates. And maintaining forks also introduce chores that is substantially more complicated than version bump.

To build Web Chat, you will need to make sure both your Node.js and NPM is latest version (either LTS or current).

npm install
npm run bootstrap
npm run build

Build tasks

There are 3 types of build tasks in the build process.

npm run build: Build for development (instrumented code for code coverage)

Will bundle as webchat-instrumented*.js

npm run watch: Build for development with watch mode loop

npm run prepublishOnly: Build for production

Will bundle as webchat*.js

Testing Web Chat for development purpose

We built a playground app for testing Web Chat so we can test certain Web Chat specific features.