# eslint-config-webex

This package provides Cisco Webex Teams' base JS .eslintrc (without React plugins) as an extensible shared config.

## Usage

We export two ESLint configurations for your usage.

Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires `eslint`, `eslint-plugin-import`, and `eslint-plugin-mocha`.

If you use yarn, run `npm info "@webex/eslint-config-base@latest" peerDependencies` to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency. See below for npm instructions.

1. Install the correct versions of each package, which are listed by the command:

    ```sh
    npm info "@webex/eslint-config-base@latest" peerDependencies
    ```

    Linux/OSX users can run
    ```sh
    (
      export PKG=@webex/eslint-config-base;
      npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
    )
    ```

    Which produces and runs a command like:

    ```sh
    npm install --save-dev @webex/eslint-config-base eslint@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-mocha@^#.#.#
    ```

    Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.

    ```sh
    npm install -g install-peerdeps
    install-peerdeps --dev @webex/eslint-config-base
    ```

    The cli will produce and run a command like:

    ```sh
    npm install --save-dev @webex/eslint-config-base eslint@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-mocha@^#.#.#
    ```

1. Add `"extends": "@webex/eslint-config-base"` to your .eslintrc.
