JSPM

  • Created
  • Published
  • Downloads 478578
  • Score
    100M100P100Q181712F
  • License MIT

ESLint rules for AVA

Package Exports

  • eslint-plugin-ava
  • eslint-plugin-ava/index.js

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 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.