Skip to content

avajs/eslint-plugin-ava

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.