GitHub - avajs/eslint-plugin-ava: ESLint rules for AVA (original) (raw)

eslint-plugin-ava Coverage Status

ESLint rules for AVA

Translations: FranΓ§ais

This plugin is bundled in XO. No need to do anything if you're using it.

Propose or contribute a new rule ➑

Install

npm install --save-dev eslint eslint-plugin-ava

Usage

Configure it in package.json.

{ "name": "my-awesome-project", "eslintConfig": { "env": { "es6": true }, "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, "plugins": [ "ava" ], "rules": { "ava/assertion-arguments": "error", "ava/...": "error" } } }

Rules

The rules will only activate in test files.

πŸ’Ό Configurations enabled in.
⚠️ Configurations set to warn in.
🚫 Configurations disabled in.
βœ… Set in the recommended configuration.
πŸ”§ Automatically fixable by the --fix CLI option.
πŸ’‘ Manually fixable by editor suggestions.

Name Description πŸ’Ό ⚠️ 🚫 πŸ”§ πŸ’‘
assertion-arguments Enforce passing correct arguments to assertions. βœ… πŸ”§
hooks-order Enforce test hook ordering. βœ… πŸ”§
max-asserts Enforce a limit on the number of assertions in a test. βœ…
no-async-fn-without-await Ensure that async tests use await. βœ…
no-duplicate-modifiers Ensure tests do not have duplicate modifiers. βœ…
no-identical-title Ensure no tests have the same title. βœ…
no-ignored-test-files Ensure no tests are written in ignored files. βœ…
no-import-test-files Ensure no test files are imported anywhere. βœ…
no-incorrect-deep-equal Disallow using deepEqual with primitives. βœ… πŸ”§
no-inline-assertions Ensure assertions are not called from inline arrow functions. βœ… πŸ”§
no-nested-tests Ensure no tests are nested. βœ…
no-only-test Ensure no test.only() are present. βœ… πŸ”§ πŸ’‘
no-skip-assert Ensure no assertions are skipped. βœ…
no-skip-test Ensure no tests are skipped. βœ… πŸ”§ πŸ’‘
no-todo-implementation Ensure test.todo() is not given an implementation function. βœ…
no-todo-test Ensure no test.todo() is used. βœ…
no-unknown-modifiers Disallow the use of unknown test modifiers. βœ…
prefer-async-await Prefer using async/await instead of returning a Promise. βœ…
prefer-power-assert Enforce the use of the asserts that have no power-assert alternative. βœ…
prefer-t-regex Prefer using t.regex() to test regular expressions. βœ… πŸ”§
test-title Ensure tests have a title. βœ…
test-title-format Ensure test titles have a certain format. βœ…
use-t Ensure test functions use t as their parameter. βœ…
use-t-throws-async-well Ensure that t.throwsAsync() and t.notThrowsAsync() are awaited. βœ… πŸ”§
use-t-well Disallow the incorrect use of t. βœ… πŸ”§
use-test Ensure that AVA is imported with test as the variable name. βœ…
use-true-false Ensure that t.true()/t.false() are used instead of t.truthy()/t.falsy(). βœ…

This plugin exports a recommended config that enforces good practices.

Enable it in your package.json with the extends option:

{ "name": "my-awesome-project", "eslintConfig": { "extends": "plugin:ava/recommended" } }

See the ESLint docs for more information about extending config files.

Note: This config will also enable the correct parser options and environment.