

ESLINT-PLUGIN-ESLINT-PLUGIN


An ESLint plugin for linting ESLint plugins


Installation

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.


Usage

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"
        }
    }


Supported Rules

✔️ 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-context-methods            Disallows usage of deprecated methods on rule context objects
  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


Supported Presets

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.
