Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Convergence Logo

Convergence JavaScript Client


This is the first (and only) client for the Convergence Collaboration Framework. It runs in all evergreen browsers and node.js as well (with a slight configuration).

The client is implemented in typescript. The build system uses both Rollup and WebPack to bundle and transpile the typescript to single files using a variety of module systems. For testing, the typescript compiler is used to compile the code into ES5 and commonjs modules to support direct unit testing in node.

Issue Reporting

The core Convergence capability is composed of multiple individual projects that are released together. To simplify things, there is a central project that is used for issues, project planning, and road mapping. To report an issue please use the convergence-project repository.


npm install @convergence/convergence

See our developer guide for a quick overview and some getting started code snippets.


The Convergence JavaScript Client follows Semantic Versioning 2.0.0 with two notable exceptions:

  1. API introduced in a MAJOR or MINOR pre-release version (e.g. 1.1.0-alpha.1) is considered unstable and subject to breaking changes until that MAJOR or MINOR version is released.
  2. API marked with an @experimental tag is considered unstable and subject to breaking changes in a future release.

These deviations from strict Semantic Versioning are intended to get potential new functionality to the community as fast as possible in order to get rapid feedback before the API is finalized. If you do not want to be an early adopter, then you should refrain from using pre-release versions or API marked as @experimental.


Convergence Labs provides several different channels for support:


To build a distribution build:

npm install
npm run dist

To test:

npm run test

Test coverage can be run using

npm run test:cover

Test Pages and Scripts

Several examples are available in the test-pages folder. These allow you to open a browser window with the current compiled version of the client and test functionality. Similarly, the src/scripts directory contains several node scripts that leverage ts-node to execute the raw typescript codebase without compiling.

In both cases, an active server must be available to run the examples or scripts.


The Convergence JavaScript client is licensed under the Lesser GNU Public License v3 (LGPLv3). This allows developers to use the client without having to release their code under the LGPLv3, assuming they only use the client as a library and do not modify it. Refer to the COPYING and COPYING.LESSER for the specific terms and conditions of the license.

The Convergence Client is also available under a Commercial License. If you are interested in a non-open source license please contact us at Convergence Labs.