@pantheon-systems/eslint-config-pantheon
Version:
A collection of Pantheon's ESLint configurations
91 lines (66 loc) • 2.91 kB
Markdown
Pantheon ESLint Config (`@pantheon-systems/eslint-config-pantheon`) is a linting tool for `JavaScript`.
It exports a set of ESLint rules for `Browser/React`, and a set of rules for `Node`. You can import either one (or both) based on the requirements of your project.
This plugin includes linting rules for `import`, `jest`, `jest-dom`, `jsx`, `jsx-a11y`, `react`, `react-hooks`, `testing-library`, etc.
## Prerequisites
- You need to have [eslint](https://eslint.org/) installed in your project.
- The `eslint` version needs to be higher than `7.5.0` or `8.0.0`.
- If your project uses `eslint` version lower than `7.5.0`, you can install Pantheon ESLint Config at version `0.2.1`.
- You need to have [prettier](https://prettier.io/) installed in your project.
## Installation
- You can install this plugin by the following command:
```bash
$ yarn add @pantheon-systems/eslint-config-pantheon --dev
```
Or:
```bash
$ npm install @pantheon-systems/eslint-config-pantheon --save-dev
```
- **NOTE**: For projects using `eslint` version lower than `7.5.0`, you can install this plugin's `0.2.1` version instead:
```bash
$ yarn add @pantheon-systems/eslint-config-pantheon@0.2.1 --dev
```
Or:
```bash
$ npm install @pantheon-systems/eslint-config-pantheon@0.2.1 --save-dev
```
## Configuration
1. In your project's ESLint config (e.g. `.eslintrc.js`):
- For `Browser/React` environment, add `@pantheon-systems/eslint-config-pantheon/configurations/react` to `extends`:
```javascript
module.exports = {
extends: ['@pantheon-systems/eslint-config-pantheon/configurations/react']
}
```
- For `Node` environment, add `@pantheon-systems/eslint-config-pantheon/configurations/node`:
```javascript
module.exports = {
extends: ['@pantheon-systems/eslint-config-pantheon/configurations/node']
}
```
2. In your `package.json`, you can add the following script to `scripts` if you want to lint all `jsx` files and `js` files in your `src` folder:
```javascript
"scripts": {
"eslint": "eslint src --ext .jsx --ext .js --cache"
}
```
## How to Use
- Now you have `@pantheon-systems/eslint-config-pantheon` installed and configured, you can start linting by using:
```bash
$ yarn eslint
```
Or:
```bash
$ npm run eslint
```
- If your eslint output has some errors, you can run the following command to fix these errors:
```bash
$ yarn eslint --fix
```
Or:
```bash
$ npm run eslint --fix
```
- However, this auto-fix may not be perfect. Sometimes you may need to manually fix these errors in your code.
## Questions?
If you have any question/feedback, or need help with this plugin, please feel free to ask in `#ask-cxe` or `#frontend` channel in Pantheon Slack.
Thank you for using `@pantheon-systems/eslint-config-pantheon` and making our code prettier!