{"id":19470,"library":"eslint-ava-rule-tester","title":"eslint-ava-rule-tester","description":"ESLint RuleTester runner for AVA test framework. Wraps ESLint's RuleTester to produce per-test reports in AVA format. Current stable version 5.0.1, pure ESM, requires Node.js >=18 and ESLint >=8.7.0. Supports all RuleTester features including valid/invalid cases, fix output, and error options. Releases: v5 breaking change to ESM-only; v4 dropped Node <7 and upgraded to ESLint v6; v2 added support for AVA 0.19. Key differentiator: provides granular test results instead of a single pass/fail for the entire rule suite.","status":"active","version":"5.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/jfmengels/eslint-ava-rule-tester","tags":["javascript","eslint","ava","test","rule"],"install":[{"cmd":"npm install eslint-ava-rule-tester","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-ava-rule-tester","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-ava-rule-tester","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; provides RuleTester class","package":"eslint","optional":false}],"imports":[{"note":"ESM-only since v5; CommonJS require will fail. Use dynamic import or upgrade.","wrong":"const AvaRuleTester = require('eslint-ava-rule-tester');","symbol":"default","correct":"import AvaRuleTester from 'eslint-ava-rule-tester';"},{"note":"Default export only; named import not available.","wrong":"import { AvaRuleTester } from 'eslint-ava-rule-tester';","symbol":"AvaRuleTester","correct":"import AvaRuleTester from 'eslint-ava-rule-tester';"},{"note":"TypeScript users can use import type for type-only import.","wrong":"import { type AvaRuleTester } from 'eslint-ava-rule-tester';","symbol":"type inference","correct":"import type AvaRuleTester from 'eslint-ava-rule-tester';"}],"quickstart":{"code":"import test from 'ava';\nimport AvaRuleTester from 'eslint-ava-rule-tester';\nimport myRule from '../eslint-rules/my-rule.js';\n\nconst ruleTester = new AvaRuleTester(test, {\n  languageOptions: {\n    ecmaVersion: 2024,\n  },\n});\n\nruleTester.run('my-rule', myRule, {\n  valid: [\n    'valid code',\n  ],\n  invalid: [\n    {\n      code: 'invalid code',\n      errors: [{ message: 'Error message' }],\n    },\n  ],\n});","lang":"typescript","description":"Shows how to create an AvaRuleTester instance, passing the AVA test function and ESLint config, then run valid and invalid test cases."},"warnings":[{"fix":"Use import syntax and ensure Node.js version is >=18. If you must use CJS, upgrade to a dynamic import or pin to v4.x.","message":"v5.0.0 is pure ESM and requires Node.js >=18. CommonJS require() will not work.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Upgrade Node.js to at least v8 and ESLint to v6 or higher.","message":"v4.0.0 dropped support for Node.js <7 and requires ESLint v6 as peer dependency.","severity":"breaking","affected_versions":">=4.0.0 <5.0.0"},{"fix":"Ensure AVA version is at least 0.19.0.","message":"v2.0.1 requires AVA >=0.19 which enforces at least one assertion per test.","severity":"breaking","affected_versions":">=2.0.1"},{"fix":"If you were relying on prototype modifications to RuleTester, adapt to use the provided subclass instead.","message":"v5.0.0 changed the internal implementation to subclass RuleTester instead of modifying it. This may affect custom extensions.","severity":"breaking","affected_versions":">=5.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Switch to import or use dynamic import: const AvaRuleTester = await import('eslint-ava-rule-tester');","cause":"Trying to use require() with ESM-only package (v5+).","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module not supported."},{"fix":"Install eslint >=8.7.0 as a dev dependency.","cause":"Missing or incompatible peer dependency, typically eslint is not installed or version is too low.","error":"TypeError: Class extends value undefined is not a constructor or null"},{"fix":"Run npm install --save-dev eslint-ava-rule-tester","cause":"Package not installed or not in node_modules.","error":"Cannot find module 'eslint-ava-rule-tester'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}