Skip to content

Latest commit

 

History

History
149 lines (101 loc) · 6.69 KB

README.md

File metadata and controls

149 lines (101 loc) · 6.69 KB

Webex JS SDK

license: Cisco state: Stable scope: Public

This project is designed as a mono-repository for all publicly-provided JavaScript packages from Cisco's Webex Developer Experience team. These packages consist of mostly API-related modules that allow for seamless integration with the collection of services that belong to the Webex platform.

Installation

Since this project is a mono-repository, it provides multiple ways to consume its distributables. Please see the respective sections below for information on how to install and consume this project.

Unified Modules

Unified modules are the quickest way to begin development using the Webex JS SDK. These modules are meant to be consumed as dependencies of another project and can be installed by performing the following commands:

# using NPM
npm install {module}

# using Yarn
yarn add {module}

In addition to the module consumption via NPMJS, these modules can also be consumed via our CDN. See the below examples of how to consume the unified modules via our CDN:

<html>
  <head>
    <!-- via unpkg -->
    <script crossorigin src="https://unpkg.com/webex@^1/umd/webex.min.js"></script>

    <!-- via jsdelivr -->
    <script crossorigin src="https://cdn.jsdelivr.net/npm/webex/umd/webex.min.js"></script>
  </head>
  <!-- ...application html... -->
</html>

The available unified modules within this project are listed below:

  • webex - The primary webex unified module.

Modular Modules

Modular modules are an alternative to using a unified module, and require a greater understanding of how the modules are architected in order to consume them appropriately. These modules are typically consumed as dependencies of another project and can be installed by performing the following commands:

# using NPM
npm install {module}

# using Yarn
yarn add {module}

The available modular modules within this project are visible when inspecting the contents of the ./packages/@webex/ folder, as well as other published modules (see their README.md files) within the ./packages/ folder.

Usage

This section will define the general usage examples for this project.

Module Consumption

For general consumption documentation, please visit our Cisco Webex for Developers portal, as this will typically what is necessary to begin development using the various packages within the Webex JS SDK. Additionally, some of the modules within this project contain independent documentation available within each of their respective folder scopes. Please review these independent documentation articles as needed.

It is recommended to visit our Getting Started with NodeJS guide for the most up-to-date documentation on consuming the Webex JS SDK via Module.

Browser Consumption

This section outlines how to directly consume the Webex JS SDK unified webex bundle within your HTML document. This bundle can be consumed directly via unpkg or jsdelivr respectfully. See the below examples:

<html>
  <head>
    <!-- via unpkg -->
    <script crossorigin src="https://unpkg.com/webex@^1/umd/webex.min.js"></script>

    <!-- via jsdelivr -->
    <script crossorigin src="https://cdn.jsdelivr.net/npm/webex/umd/webex.min.js"></script>
  </head>
  <!-- ...application html... -->
</html>

It is recommended to visit our Getting Started with Browser Usage guide for the most up-to-date documentation on consuming the Webex JS SDK via our CDN within a browser.

Updating the Modules

Since this mono-repository includes a collection of packages that rely on each other to work as intended, it is best to utilize a static version of the Webex JS SDK modules consumed by your application. The best way to do this is by utilizing our helper package: @webex/package-tools.

# using NPM
npm install --dev @webex/package-tools

# using Yarn
yarn add --dev @webex/package-tools

After installation, the following script should be added to your ./package.json for execution:

{
  /* ... */
  "scripts": {
    /* ... */
    "update:sdk": "webex-package-tools update --tag {target-dist-tag} --packages {...packages-to-update}"
  }
}

The above executable accepts a distribution tag, which will match an available tag from the current tags section of NPMJS as well as a list of packages that should be updated when the command executes (this will collect the latest synced version). It is recommended to provide the --packages argument with the complete list of @webex-scoped packages your project consumes in order to promote well-synchronized versions between all packages.

The @webex/package-tools package contains a collection of helpful tools used to manage packages within this project from both within and outside of this project. Please review the documentation associated with the @webex/package-tools package for more information.

Running and Viewing Samples

Sample code can be found within the samples documentation folder. You can preview the contents of this folder by navigating to https://webex.github.io/webex-js-sdk/samples/ or by building them locally. Please see our contributing guide for more information.

Contribute

For detailed instructions on how to contribute, please refer to the contributing guide.

Issues

Please reach out to our developer support team in regards to any issues you may be experiencing within the Webex JS SDK.

Maintainers

This project is maintained by Cisco Webex for Developers.

License

See our license for more information.