@cerner/eslint-config-terra

Terra Eslint Config

Usage no npm install needed!

<script type="module">
  import cernerEslintConfigTerra from 'https://cdn.skypack.dev/@cerner/eslint-config-terra';
</script>

README

Eslint Config Terra

NPM version Build Status

Terra's sharable ESLint configuration for their UI library and build tools.

Features:

  • extends the eslint-config-airbnb, which exports ESLint rules, including rules for ECMAScript 6+ and React.
  • checks for proper ReactJS Hooks usage via the eslint-plugin-react-hooks.
  • checks syntax for targeted browsers support via the eslint-plugin-compat. It is recommended to use Terra's targeted browsers which are specified by the browserslist-config-terra module.
  • defines the browser and jest environment
  • defines enzyme globals for shallow, render and mount for jest testing

What is Eslint

ESlint is a pluggable linting utility for JavaScript and JSX.

Installation

Install the module

npm install eslint --save-dev
npm install @cerner/eslint-config-terra --save-dev

Usage

First, include the configuration defined by @cerner/eslint-config-terra via the extends property.

Then, define the browsers for the eslint-plugin-compat plugin to target by add the browsers list configuration in your package.json through the browserslist key.

package.json

{
  "browserslist": [
    "extends @cerner/browserslist-config-terra"
  ],
  "eslintConfig": {
    "extends": "@cerner/terra"
  },
}

Versioning

eslint-config-terra is considered to be stable and will follow SemVer for versioning.

  1. MAJOR versions represent breaking changes
  2. MINOR versions represent added functionality in a backwards-compatible manner
  3. PATCH versions represent backwards-compatible bug fixes

Consult the component CHANGELOGs, related issues, and PRs for more information.

LICENSE

Copyright 2018 - present Cerner Innovation, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.