{"id":13483967,"url":"https://github.com/avajs/eslint-plugin-ava","last_synced_at":"2025-05-15T06:08:16.376Z","repository":{"id":44597342,"uuid":"49722492","full_name":"avajs/eslint-plugin-ava","owner":"avajs","description":"ESLint rules for AVA","archived":false,"fork":false,"pushed_at":"2024-05-11T08:08:39.000Z","size":661,"stargazers_count":230,"open_issues_count":46,"forks_count":49,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-10T02:05:32.737Z","etag":null,"topics":["ava","eslint","eslint-config","eslint-plugin","eslint-rules","hacktoberfest","javascript","linting-rules","nodejs"],"latest_commit_sha":null,"homepage":"https://avajs.dev","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avajs.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":".github/contributing.md","funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-15T14:09:39.000Z","updated_at":"2025-04-17T16:18:12.000Z","dependencies_parsed_at":"2024-01-16T10:35:49.553Z","dependency_job_id":"8a97b05a-2c36-41bd-9d3e-e6ef5286e9ea","html_url":"https://github.com/avajs/eslint-plugin-ava","commit_stats":{"total_commits":321,"total_committers":50,"mean_commits":6.42,"dds":0.6542056074766356,"last_synced_commit":"19be3c7ca30b36be9ded987ee6e5b3bc22f4448a"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avajs%2Feslint-plugin-ava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avajs%2Feslint-plugin-ava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avajs%2Feslint-plugin-ava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avajs%2Feslint-plugin-ava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avajs","download_url":"https://codeload.github.com/avajs/eslint-plugin-ava/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254272582,"owners_count":22043257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ava","eslint","eslint-config","eslint-plugin","eslint-rules","hacktoberfest","javascript","linting-rules","nodejs"],"created_at":"2024-07-31T17:01:17.392Z","updated_at":"2025-05-15T06:08:16.319Z","avatar_url":"https://github.com/avajs.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Plugins","Packages"],"sub_categories":["Testing Tools"],"readme":"# eslint-plugin-ava [![Coverage Status](https://coveralls.io/repos/github/avajs/eslint-plugin-ava/badge.svg?branch=main)](https://coveralls.io/github/avajs/eslint-plugin-ava?branch=main)\n\n\u003e ESLint rules for [AVA](https://avajs.dev)\n\nTranslations: [Français](https://github.com/avajs/ava-docs/blob/main/fr_FR/related/eslint-plugin-ava/readme.md)\n\nThis plugin is bundled in [XO](https://github.com/xojs/xo). No need to do anything if you're using it.\n\n[**Propose or contribute a new rule ➡**](.github/contributing.md)\n\n## Install\n\n```sh\nnpm install --save-dev eslint eslint-plugin-ava\n```\n\n## Usage\n\nConfigure it in `package.json`.\n\n```json\n{\n\t\"name\": \"my-awesome-project\",\n\t\"eslintConfig\": {\n\t\t\"env\": {\n\t\t\t\"es6\": true\n\t\t},\n\t\t\"parserOptions\": {\n\t\t\t\"ecmaVersion\": \"latest\",\n\t\t\t\"sourceType\": \"module\"\n\t\t},\n\t\t\"plugins\": [\n\t\t\t\"ava\"\n\t\t],\n\t\t\"rules\": {\n\t\t\t\"ava/assertion-arguments\": \"error\",\n\t\t\t\"ava/...\": \"error\"\n        }\n    }\n}\n```\n\n## Rules\n\nThe rules will only activate in test files.\n\n\u003c!-- begin auto-generated rules list --\u003e\n\n💼 [Configurations](https://github.com/avajs/eslint-plugin-ava#recommended-config) enabled in.\\\n⚠️ [Configurations](https://github.com/avajs/eslint-plugin-ava#recommended-config) set to warn in.\\\n🚫 [Configurations](https://github.com/avajs/eslint-plugin-ava#recommended-config) disabled in.\\\n✅ Set in the `recommended` [configuration](https://github.com/avajs/eslint-plugin-ava#recommended-config).\\\n🔧 Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\\\n💡 Manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).\n\n| Name                                                                 | Description                                                                                                              | 💼 | ⚠️ | 🚫 | 🔧 | 💡 |\n| :------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- | :- | :- | :- | :- | :- |\n| [assertion-arguments](docs/rules/assertion-arguments.md)             | Enforce passing correct arguments to assertions.                                                                         | ✅  |    |    | 🔧 |    |\n| [hooks-order](docs/rules/hooks-order.md)                             | Enforce test hook ordering.                                                                                              | ✅  |    |    | 🔧 |    |\n| [max-asserts](docs/rules/max-asserts.md)                             | Enforce a limit on the number of assertions in a test.                                                                   |    |    | ✅  |    |    |\n| [no-async-fn-without-await](docs/rules/no-async-fn-without-await.md) | Ensure that async tests use `await`.                                                                                     | ✅  |    |    |    |    |\n| [no-duplicate-modifiers](docs/rules/no-duplicate-modifiers.md)       | Ensure tests do not have duplicate modifiers.                                                                            | ✅  |    |    |    |    |\n| [no-identical-title](docs/rules/no-identical-title.md)               | Ensure no tests have the same title.                                                                                     | ✅  |    |    |    |    |\n| [no-ignored-test-files](docs/rules/no-ignored-test-files.md)         | Ensure no tests are written in ignored files.                                                                            | ✅  |    |    |    |    |\n| [no-import-test-files](docs/rules/no-import-test-files.md)           | Ensure no test files are imported anywhere.                                                                              | ✅  |    |    |    |    |\n| [no-incorrect-deep-equal](docs/rules/no-incorrect-deep-equal.md)     | Disallow using `deepEqual` with primitives.                                                                              | ✅  |    |    | 🔧 |    |\n| [no-inline-assertions](docs/rules/no-inline-assertions.md)           | Ensure assertions are not called from inline arrow functions.                                                            | ✅  |    |    | 🔧 |    |\n| [no-nested-tests](docs/rules/no-nested-tests.md)                     | Ensure no tests are nested.                                                                                              | ✅  |    |    |    |    |\n| [no-only-test](docs/rules/no-only-test.md)                           | Ensure no `test.only()` are present.                                                                                     | ✅  |    |    | 🔧 | 💡 |\n| [no-skip-assert](docs/rules/no-skip-assert.md)                       | Ensure no assertions are skipped.                                                                                        | ✅  |    |    |    |    |\n| [no-skip-test](docs/rules/no-skip-test.md)                           | Ensure no tests are skipped.                                                                                             | ✅  |    |    | 🔧 | 💡 |\n| [no-todo-implementation](docs/rules/no-todo-implementation.md)       | Ensure `test.todo()` is not given an implementation function.                                                            | ✅  |    |    |    |    |\n| [no-todo-test](docs/rules/no-todo-test.md)                           | Ensure no `test.todo()` is used.                                                                                         |    | ✅  |    |    |    |\n| [no-unknown-modifiers](docs/rules/no-unknown-modifiers.md)           | Disallow the use of unknown test modifiers.                                                                              | ✅  |    |    |    |    |\n| [prefer-async-await](docs/rules/prefer-async-await.md)               | Prefer using async/await instead of returning a Promise.                                                                 | ✅  |    |    |    |    |\n| [prefer-power-assert](docs/rules/prefer-power-assert.md)             | Enforce the use of the asserts that have no [power-assert](https://github.com/power-assert-js/power-assert) alternative. |    |    | ✅  |    |    |\n| [prefer-t-regex](docs/rules/prefer-t-regex.md)                       | Prefer using `t.regex()` to test regular expressions.                                                                    | ✅  |    |    | 🔧 |    |\n| [test-title](docs/rules/test-title.md)                               | Ensure tests have a title.                                                                                               | ✅  |    |    |    |    |\n| [test-title-format](docs/rules/test-title-format.md)                 | Ensure test titles have a certain format.                                                                                |    |    | ✅  |    |    |\n| [use-t](docs/rules/use-t.md)                                         | Ensure test functions use `t` as their parameter.                                                                        | ✅  |    |    |    |    |\n| [use-t-throws-async-well](docs/rules/use-t-throws-async-well.md)     | Ensure that `t.throwsAsync()` and `t.notThrowsAsync()` are awaited.                                                      | ✅  |    |    | 🔧 |    |\n| [use-t-well](docs/rules/use-t-well.md)                               | Disallow the incorrect use of `t`.                                                                                       | ✅  |    |    | 🔧 |    |\n| [use-test](docs/rules/use-test.md)                                   | Ensure that AVA is imported with `test` as the variable name.                                                            | ✅  |    |    |    |    |\n| [use-true-false](docs/rules/use-true-false.md)                       | Ensure that `t.true()`/`t.false()` are used instead of `t.truthy()`/`t.falsy()`.                                         | ✅  |    |    |    |    |\n\n\u003c!-- end auto-generated rules list --\u003e\n\n## Recommended config\n\nThis plugin exports a [`recommended` config](index.js) that enforces good practices.\n\nEnable it in your `package.json` with the `extends` option:\n\n```json\n{\n\t\"name\": \"my-awesome-project\",\n\t\"eslintConfig\": {\n\t\t\"extends\": \"plugin:ava/recommended\"\n\t}\n}\n```\n\nSee the [ESLint docs](https://eslint.org/docs/user-guide/configuring#extending-configuration-files) for more information about extending config files.\n\n**Note**: This config will also enable the correct [parser options](https://eslint.org/docs/user-guide/configuring#specifying-parser-options) and [environment](https://eslint.org/docs/user-guide/configuring#specifying-environments).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favajs%2Feslint-plugin-ava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favajs%2Feslint-plugin-ava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favajs%2Feslint-plugin-ava/lists"}