Registry / testing / eslint-plugin-eslint-plugin

eslint-plugin-eslint-plugin

JSON →
library7.3.2jsnpmunverified

An ESLint plugin that provides a set of rules for linting ESLint plugins themselves. It helps plugin authors follow best practices, avoid deprecated APIs, and maintain consistency in meta properties and tests. As of v7.3.2, it requires ESLint >=9.0.0 and Node >=20.19.0. Version 7 broke compatibility with ESLint v8 and flat config prefixes. It supports CJS, ESM, and TypeScript plugin source files. Ships with recommended configs and autofix rules. Maintained under the eslint-community organization.

npm install eslint-plugin-eslint-plugin
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-ESLI
E
eslint-plugin-eslint-plugin
testingjavascriptv7.3.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

plugin (default export)
import eslintPlugin from 'eslint-plugin-eslint-plugin'
const eslintPlugin = require('eslint-plugin-eslint-plugin')
The package is ESM-only from v7 onwards. CJS require() will fail.
flat config (recommended)
eslintPlugin.configs.recommended
require('eslint-plugin-eslint-plugin/flat/recommended')
As of v7, flat configs are directly on the plugin object under configs. The old 'flat/' prefix paths are removed.
rules (legacy eslintrc)
plugins: ['eslint-plugin']
plugins: ['eslint-plugin-eslint-plugin']
In ESLint's flat config (>=9), use the plugin object. The 'eslint-plugin' name is optional; you can also use the full name in eslintrc.

Flat config example using the plugin's recommended preset and enabling a specific rule.

// eslint.config.js import eslintPlugin from 'eslint-plugin-eslint-plugin'; export default [ eslintPlugin.configs.recommended, { rules: { 'eslint-plugin/fixer-return': 'error', }, }, ];
Debug
Known issues
breakingv7.0.0 dropped support for ESLint v8 and the old eslintrc config format. The 'flat/' prefix from config paths is removed; configs are now directly on eslintPlugin.configs.
fix
Upgrade to ESLint >=9.0.0 and use flat config. Use eslintPlugin.configs.recommended instead of eslint-plugin-eslint-plugin/flat/recommended.
affects: >=7.0.0
breakingv7.0.0 enabled several existing rules as recommended: no-meta-replaced-by, no-meta-schema-default, require-meta-default-options, require-meta-schema-description. These were previously optional.
fix
If you were explicitly disabling these rules, you may need to adjust your config. Check the recommended preset: it now includes them.
affects: >=7.0.0
gotchaThe package is ESM-only since v7.0.0. Using require() in CommonJS will throw an error.
fix
Use import or dynamic import(). If you need CJS, stick to v6.x.
affects: >=7.0.0
deprecatedThe no-deprecated-context-methods rule flags use of context.getSource(), context.getFilename(), etc. These methods are deprecated in ESLint.
fix
Use context.sourceCode.getText() instead of context.getSource(), context.filename instead of context.getFilename(), etc.
affects: >=6.0.0
gotchaThe plugin uses the 'eslint-plugin' prefix by convention in flat config. If you import the plugin with a different name, rule references must match that name.
fix
When using flat config, assign the import to a variable and use that variable name as the plugin prefix in rule names.
affects: >=7.0.0
breakingv6.0.0 removed support for Node.js <18.18.0. If you need older Node, stick to v5.x.
fix
Upgrade Node to >=18.18.0 or use older plugin version.
affects: >=6.0.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/node_modules/eslint-plugin-eslint-plugin/dist/index.js from /path/to/eslint.config.js not supported.
ESM-only package since v7, but using require() in a CommonJS context.
fix
Use import() or switch to an ESM config file (e.g., rename eslint.config.js to eslint.config.mjs).
ESLint couldn't find the plugin 'eslint-plugin-eslint-plugin'.
In flat config, the plugin must be imported and passed as an object with a 'plugins' key, or used via the configs object. The string name is not recognized.
fix
Use: import eslintPlugin from 'eslint-plugin-eslint-plugin'; then add eslintPlugin.configs.recommended (or { plugins: { 'eslint-plugin': eslintPlugin } }).
Configuration for rule 'eslint-plugin/require-meta-docs-description' is invalid. Value "error" is unknown.
The rule may not exist or may have been renamed/removed. In v7, some rules were removed or renamed.
fix
Check the list of rules in the docs. For v7, ensure the rule name is correct (e.g., 'require-meta-docs-description' still exists).
Cannot find module 'eslint-plugin-eslint-plugin'
The package is not installed or not in node_modules.
fix
Run: npm install eslint-plugin-eslint-plugin --save-dev
Upgrade
Version history
7.3.2latest on npm
Audit
Dependencies
eslintrequiredPeer dependency - the plugin lints ESLint plugins, so ESLint must be installed.
Agent activity
5 hits · last 30 days
node
4
Bingbot
1
Resources
eslint-plugin-eslint-plugin — npm install eslint-plugin-eslint-plugin · libregistry