Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
eslint-plugin-ava
Advanced tools
eslint-plugin-ava is an ESLint plugin that provides linting rules specific to the AVA test runner. It helps ensure best practices and consistency when writing tests with AVA.
Ensure test file naming conventions
This rule enforces a specific naming pattern for test files, ensuring that all test files follow a consistent naming convention.
module.exports = { "rules": { "ava/test-file-name": ["error", { "pattern": "test-*.js" }] } };
Disallow use of t.pass() and t.fail()
This rule disallows the use of t.pass() and t.fail() in tests, encouraging more meaningful assertions.
module.exports = { "rules": { "ava/no-t-pass-fail": "error" } };
Ensure correct use of t.plan()
This rule ensures that t.plan() is used correctly, helping to avoid common mistakes when planning assertions in tests.
module.exports = { "rules": { "ava/use-t-well": "error" } };
Disallow use of assertions outside of tests
This rule disallows the use of assertions outside of test functions, ensuring that all assertions are made within the context of a test.
module.exports = { "rules": { "ava/no-assertion-outside-test": "error" } };
eslint-plugin-jest provides linting rules specific to the Jest test runner. It offers similar functionality to eslint-plugin-ava but is tailored for Jest, ensuring best practices and consistency when writing tests with Jest.
eslint-plugin-mocha provides linting rules specific to the Mocha test framework. Like eslint-plugin-ava, it helps enforce best practices and consistency, but it is designed for use with Mocha.
eslint-plugin-jasmine offers linting rules for the Jasmine testing framework. It serves a similar purpose to eslint-plugin-ava but is focused on ensuring best practices and consistency in Jasmine tests.
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 ➡
npm install --save-dev eslint eslint-plugin-ava
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"
}
}
}
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.
FAQs
ESLint rules for AVA
The npm package eslint-plugin-ava receives a total of 119,159 weekly downloads. As such, eslint-plugin-ava popularity was classified as popular.
We found that eslint-plugin-ava demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.