<commit_before># Contributing Code

> Similar to the [standard contributing insructions](https://github.com/webex/spark-js-sdk/blob/master/CONTRIBUTING.md#contributing-code).

## Build Dependencies

Before you can build the Cisco Webex JS SDK, you will need:

- [Node.js](https://nodejs.org/) (LTS)
  - We recommend using [nvm](https://github.com/creationix/nvm) (or [nvm-windows](https://github.com/coreybutler/nvm-windows))
    to easily switch between Node.js versions.
  - Install the latest Node.js Long Term Support using `nvm install --lts`
  - Install the latest npm to enable security audits using `npm install npm@latest -g`
- [Git](https://git-scm.com/)

### .env

Create a file called `.env` that defines:

CISCOSPARK_CLIENT_SECRET="[get the shared client secret here](https://cisco.box.com/s/phyd6usx1ga6vf06tdzx5bxn9epnwc2w)"

### npm

- [Enable 2-factor authentication](https://docs.npmjs.com/getting-started/using-two-factor-authentication)
- [Sign into NPM](https://docs.npmjs.com/private-modules/ci-server-config#how-to-create-a-new-authentication-token) so that you can install the private package `@ciscospark/test-helper-test-users`. This package generates temporary test users.

### SauceLabs

[Follow these instructions](https://github.com/webex/spark-js-sdk/blob/master/SCRIPTS.md#saucelabs) to use SauceLabs.

## Build the SDK

Fork the [spark-js-sdk](https://github.com/webex/spark-js-sdk/) repository and `git clone` your fork:

```bash
git clone https://github.com/YOUR-USERNAME/spark-js-sdk.git
```

Install tooling dependencies.

> See [Build Dependencies](#build-dependencies) above for `nvm` and `npm` details.

```bash
npm install
```

*Build issues?* See [BUILD-ISSUES.md](https://github.com/webex/spark-js-sdk/blob/master/BUILD-ISSUES.md) for help.

## Contribute to the `plugin-meetings` branch

We will work off of the `plugin-meetings` branch from `master`.

### Set up remote

```bash
git remote add upstream <EMAIL>:webex/spark-js-sdk.git
```

### Track `plugin-meetings`

```bash
git checkout --track upstream/plugin-meetings
```

### Create a feature branch

> You may find prefixing feature branches with the JIRA ticket number helpful, like in this example.

```bash
git checkout -b 39555-new-feature plugin-meetings
```

### Run the sample

```bash
npm run build
PACKAGE="@webex/plugin-meetings" npm run serve:package
```

Visit https://localhost:8000/<commit_msg>Update `plugin-meetings` instructions (#1001)<commit_after># Contributing Code

> Similar to the [standard contributing insructions](https://github.com/webex/spark-js-sdk/blob/master/CONTRIBUTING.md#contributing-code).

## Build Dependencies

Before you can build the Cisco Webex JS SDK, you will need:

- [Node.js](https://nodejs.org/) (LTS)
  - We recommend using [nvm](https://github.com/creationix/nvm) (or [nvm-windows](https://github.com/coreybutler/nvm-windows))
    to easily switch between Node.js versions.
  - Install the latest Node.js Long Term Support using `nvm install --lts`
  - Install the latest npm to enable security audits using `npm install npm@latest -g`
- [Git](https://git-scm.com/)

### .env

Create a file called `.env` in the project root that defines:

CISCOSPARK_CLIENT_SECRET="[get the shared client secret here](https://cisco.box.com/s/phyd6usx1ga6vf06tdzx5bxn9epnwc2w)"

CISCOSPARK_ACCESS_TOKEN="[get your personal access token here](https://developer.webex.com/getting-started.html#authentication)"

### npm

- [Enable 2-factor authentication](https://docs.npmjs.com/getting-started/using-two-factor-authentication)
- [Sign into NPM](https://docs.npmjs.com/private-modules/ci-server-config#how-to-create-a-new-authentication-token) so that you can install the private package `@ciscospark/test-helper-test-users`. This package generates temporary test users.

### SauceLabs

[Follow these instructions](https://github.com/webex/spark-js-sdk/blob/master/SCRIPTS.md#saucelabs) to use SauceLabs.

## Build the SDK

Fork the [spark-js-sdk](https://github.com/webex/spark-js-sdk/) repository and `git clone` your fork:

```bash
git clone https://github.com/YOUR-USERNAME/spark-js-sdk.git
```

Install tooling dependencies.

> See [Build Dependencies](#build-dependencies) above for `nvm` and `npm` details.

```bash
npm install
```

*Build issues?* See [BUILD-ISSUES.md](https://github.com/webex/spark-js-sdk/blob/master/BUILD-ISSUES.md) for help.

## Contribute to the `plugin-meetings` branch

We will work off of the `plugin-meetings` branch from `master`.

### Set up remote

```bash
git remote add upstream <EMAIL>:webex/spark-js-sdk.git
```

### Track `plugin-meetings`

```bash
git checkout --track upstream/plugin-meetings
```

### Create a feature branch

> You may find prefixing feature branches with the JIRA ticket number helpful, like in this example.

```bash
git checkout -b 39555-new-feature plugin-meetings
```

### Run the sample

```bash
npm run build
npm run serve:package -- --env.package @webex/plugin-meetings
```

Visit https://localhost:8000/
{'fraction_non_alphanumeric': 0.14140203714799282, 'fraction_numerical': 0.00798881565807869, 'mean_word_length': 4.55210643015521, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 27, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1371767', 'n_tokens_mistral': 1776, 'n_tokens_neox': 1626, 'n_words': 437}