Package Exports
- eslint-plugin-ava
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-plugin-ava) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
eslint-plugin-ava

ESLint rules for AVA
Translations: Français
This plugin is bundled in XO. No need to do anything if you're using it.
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": 2017,
"sourceType": "module"
},
"plugins": [
"ava"
],
"rules": {
"ava/assertion-arguments": "error",
"ava/max-asserts": ["off", 5],
"ava/no-async-fn-without-await": "error",
"ava/no-cb-test": "off",
"ava/no-duplicate-modifiers": "error",
"ava/no-identical-title": "error",
"ava/no-ignored-test-files": "error",
"ava/no-invalid-end": "error",
"ava/no-nested-tests": "error",
"ava/no-only-test": "error",
"ava/no-skip-assert": "error",
"ava/no-skip-test": "error",
"ava/no-statement-after-end": "error",
"ava/no-todo-implementation": "error",
"ava/no-todo-test": "warn",
"ava/no-unknown-modifiers": "error",
"ava/prefer-async-await": "error",
"ava/prefer-power-assert": "off",
"ava/test-ended": "error",
"ava/test-title": ["error", "if-multiple"],
"ava/use-t-well": "error",
"ava/use-t": "error",
"ava/use-test": "error",
"ava/use-true-false": "error"
}
}
}
Rules
The rules will only activate in test files.
- assertion-arguments - Enforce passing correct arguments to assertions.
- max-asserts - Limit the number of assertions in a test.
- no-async-fn-without-await - Ensure that async tests use
await
. - no-cb-test - Ensure no
test.cb()
is used. - 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-invalid-end - Ensure
t.end()
is only called insidetest.cb()
. - no-nested-tests - Ensure no tests are nested.
- no-only-test - Ensure no
test.only()
are present. (fixable) - no-skip-assert - Ensure no assertions are skipped.
- no-skip-test - Ensure no tests are skipped. (fixable)
- no-statement-after-end - Ensure
t.end()
is the last statement executed. - no-todo-implementation - Ensure
test.todo()
is not given an implementation function. - no-todo-test - Ensure no
test.todo()
is used. - no-unknown-modifiers - Prevent the use of unknown test modifiers.
- prefer-async-await - Prefer using async/await instead of returning a Promise.
- prefer-power-assert - Allow only use of the asserts that have no power-assert alternative.
- test-ended - Ensure callback tests are explicitly ended.
- test-title - Ensure tests have a title.
- use-t-well - Prevent the incorrect use of
t
. - use-t - Ensure test functions use
t
as their parameter. - 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 oft.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": {
"plugins": [
"ava"
],
"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.
Credit
License
MIT © Sindre Sorhus