An ESLint plugin for linting ESLint plugins
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-eslint-plugin
:
$ npm install eslint-plugin-eslint-plugin --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install eslint-plugin-eslint-plugin
globally.
Add eslint-plugin
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": [
"eslint-plugin"
]
}
Then configure the rules you want to use under the rules section.
{
"rules": {
"eslint-plugin/no-deprecated-report-api": "error"
}
}
✔️ indicates that a rule is recommended for all users. 🛠 indicates that a rule is fixable.
Name | ✔️ | 🛠 | Description |
---|---|---|---|
consistent-output | Enforces consistent use of output assertions in rule tests | ||
fixer-return | ✔️ | Enforces always return from a fixer function | |
no-deprecated-report-api | ✔️ | 🛠 | Prohibits the deprecated context.report(node, message) API |
no-identical-tests | ✔️ | 🛠 | Disallows identical tests |
no-missing-placeholders | ✔️ | Disallows missing placeholders in rule report messages | |
no-unused-placeholders | ✔️ | Disallows unused placeholders in rule report messages | |
no-useless-token-range | ✔️ | 🛠 | Disallows unnecessary calls to sourceCode.getFirstToken and sourceCode.getLastToken |
prefer-output-null | Disallows invalid RuleTester test cases with the output the same as the code. | ||
prefer-placeholders | Disallows template literals as report messages | ||
report-message-format | Enforces a consistent format for report messages | ||
require-meta-fixable | ✔️ | Requires a meta.fixable property for fixable rules |
|
test-case-property-ordering | 🛠 | Requires the properties of a test case to be placed in a consistent order. | |
test-case-shorthand-strings | 🛠 | Enforces consistent usage of shorthand strings for test cases with no options |
Presets are enabled by adding a line to the extends
list in your config file. For example, to enable the recommended
preset, use:
{
"extends": [
"plugin:eslint-plugin/recommended"
]
}
-
recommended
enables all recommended rules from this plugin. -
rules-recommended
enables all recommended rules that are aimed at linting ESLint rule files. -
tests-recommended
enables all recommended rules that are aimed at linting ESLint test files. -
all
enables all rules in this plugin. -
rules
enables all rules that are aimed at linting ESLint rule files. -
tests
enables all rules that are aimed at linting ESLint test files.
The list of recommended rules will only change in a major release of this plugin. However, new non-recommended rules might be added in a minor release of this plugin. Therefore, the using the all
, rules
, and tests
presets is not recommended for production use, because the addition of new rules in a minor release could break your build.