Skip to content

avajs/eslint-plugin-ava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

May 11, 2024
19be3c7 Β· May 11, 2024
May 3, 2024
May 3, 2024
May 3, 2024
May 3, 2024
May 21, 2017
Jun 24, 2018
Oct 28, 2022
Aug 28, 2017
May 3, 2024
May 11, 2024
May 3, 2024
Apr 16, 2020
May 11, 2024
May 3, 2024
May 3, 2024

Repository files navigation

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(). βœ…

Recommended config

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.