Skip to content
The Convergence JavaScript Client
TypeScript JavaScript Other
Branch: master
Clone or download
mmacfadden Refactoring to refine the workflows of creating and deleting models t…
…o ensure that records are properly cleaned up.
Latest commit 814aac8 Dec 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Fixed the logo file name. Nov 11, 2019
npmjs Fixed a typo in the license section of the readme. Nov 12, 2019
src Refactoring to refine the workflows of creating and deleting models t… Dec 6, 2019
test-pages Refactoring to refine the workflows of creating and deleting models t… Dec 6, 2019
webpack Renamed the LICENSE file to COPYING per LGPL. Nov 16, 2019
.babelrc Refactoring and support of working in node. Sep 14, 2018
.gitignore Added copyright statements and removed the docker step. Nov 12, 2019
.npmignore Cleaned up README, packages, and removed old Jenkinsfile. Nov 12, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Nov 17, 2019
CONTRIBUTING.md
COPYING Slight reformatting of the license files. Nov 16, 2019
COPYING.LESSER Slight reformatting of the license files. Nov 16, 2019
README.md Fixed an infinite loop condition in rehydrating models from offline s… Nov 23, 2019
copyright-header.txt Updated the copyright header. Nov 16, 2019
gulpfile.babel.js Renamed the LICENSE file to COPYING per LGPL. Nov 16, 2019
package-lock.json Large scale refactoring to implement several unexpected use cases for… Nov 24, 2019
package.json Removed error-prone build script Nov 27, 2019
rollup.config.js Renamed the LICENSE file to COPYING per LGPL. Nov 16, 2019
tsconfig.json fixed the typescript config. Sep 18, 2019
tslint.json Modified identityService.user to accept a username again Aug 23, 2019
typedoc.js merged docs updates Nov 12, 2019

README.md

Convergence Logo

Convergence JavaScript Client

Build Status

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.

Usage

npm install @convergence/convergence

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

Versioning

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.

Support

Convergence Labs provides several different channels for support:

  • Please use the Discourse Forum for general and technical questions, so the whole community can benefit.
  • For paid dedicated support, integration assistance, or other custom development services, contact us directly.
  • Email support@convergencelabs.com for all other inquiries.

Developing

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.

License

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.

You can’t perform that action at this time.