Eslint Config Terra
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"
},
}
Node version support
This package was developed and tested using Node 10 up to Node 14. Consumers using Node 16 or greater are advised to use it at their own risk since those versions are not officially supported due to lack of thorough testing.
Versioning
eslint-config-terra is considered to be stable and will follow SemVer for versioning.
- MAJOR versions represent breaking changes
- MINOR versions represent added functionality in a backwards-compatible manner
- 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.