lint rules for use with jest-dom.
You'll first need to install ESLint:
$ npm i eslint --save-dev Next, install eslint-plugin-jest-dom:
$ npm install eslint-plugin-jest-dom --save-dev Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-jest-dom globally.
Add jest-dom to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:
{ "plugins": ["jest-dom"] }Then configure the rules you want to use under the rules section.
{ "rules": { "jest-dom/prefer-required": "error", "jest-dom/prefer-enabled-disabled": "error", "jest-dom/prefer-checked": "error", "jest-dom/prefer-to-have-attribute": "error", } }This plugin exports a recommended configuration that enforces good jest-dom practices (you can find more info about enabled rules in Supported Rules section).
To enable this configuration use the extends property in your .eslintrc config file:
{ "extends": ["plugin:jest-dom/recommended"] }✔️ indicates that a rule is recommended for all users.
🛠 indicates that a rule is fixable.
| Name | ✔️ | 🛠 | Description |
|---|---|---|---|
| prefer-checked | ✔️ | 🛠 | prefer toBeChecked over checking attributes |
| prefer-enabled-disabled | ✔️ | 🛠 | prefer toBeDisabled or toBeEnabled over checking attributes |
| prefer-focus | ✔️ | 🛠 | prefer toHaveFocus over checking document.activeElement |
| prefer-required | ✔️ | 🛠 | prefer toBeRequired over checking properties |
| prefer-to-have-attribute | ✔️ | 🛠 | prefer toHaveAttribute over checking getAttribute/hasAttribute |
Thanks goes to these wonderful people (emoji key):
Ben Monro 📖 💻 💡 | Nick McCurdy 💻 📖 | Ernesto García 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!