eslint-plugin-eslint-plugin

    4.0.1 • Public • Published

    eslint-plugin-eslint-plugin CI NPM version

    An ESLint plugin for linting ESLint plugins. Rules written in CJS, ESM, and TypeScript are all supported.

    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

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

    Rules

    • ✔️ if the rule belongs to the recommended configuration
    • 🛠 if some problems reported by the rule are automatically fixable by the --fix command line option
    • 💡 if some problems reported by the rule are manually fixable by editor suggestions
    Name ✔️ 🛠 💡 Description
    consistent-output ✔️ enforce consistent use of output assertions in rule tests
    fixer-return ✔️ require fixer functions to return a fix
    meta-property-ordering 🛠 enforce the order of meta properties
    no-deprecated-context-methods ✔️ 🛠 disallow usage of deprecated methods on rule context objects
    no-deprecated-report-api ✔️ 🛠 disallow the version of context.report() with multiple arguments
    no-identical-tests ✔️ 🛠 disallow identical tests
    no-missing-placeholders ✔️ disallow missing placeholders in rule report messages
    no-only-tests ✔️ 💡 disallow the test case property only
    no-unused-placeholders ✔️ disallow unused placeholders in rule report messages
    no-useless-token-range ✔️ 🛠 disallow unnecessary calls to sourceCode.getFirstToken() and sourceCode.getLastToken()
    prefer-message-ids require using messageId instead of message to report rule violations
    prefer-object-rule ✔️ 🛠 disallow rule exports where the export is a function
    prefer-output-null 🛠 disallow invalid RuleTester test cases where the output matches the code
    prefer-placeholders require using placeholders for dynamic report messages
    prefer-replace-text require using replaceText() instead of replaceTextRange()
    report-message-format enforce a consistent format for rule report messages
    require-meta-docs-description require rules to implement a meta.docs.description property with the correct format
    require-meta-docs-url 🛠 require rules to implement a meta.docs.url property
    require-meta-fixable ✔️ require rules to implement a meta.fixable property
    require-meta-has-suggestions ✔️ 🛠 require suggestable rules to implement a meta.hasSuggestions property
    require-meta-schema ✔️ 💡 require rules to implement a meta.schema property
    require-meta-type ✔️ require rules to implement a meta.type property
    test-case-property-ordering 🛠 require the properties of a test case to be placed in a consistent order
    test-case-shorthand-strings 🛠 enforce consistent usage of shorthand strings for test cases with no options

    Presets

    Name Description
    ✔️ recommended enables all recommended rules in 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

    Semantic versioning policy

    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.

    Preset usage

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

    Or to apply linting only to the appropriate rule or test files:

    {
        "overrides": [
            {
                "files": ["lib/rules/*.{js,ts}"],
                "extends": ["plugin:eslint-plugin/rules-recommended"]
            },
            {
                "files": ["tests/lib/rules/*.{js,ts}"],
                "extends": ["plugin:eslint-plugin/tests-recommended"]
            },
        ]
    }

    Install

    npm i eslint-plugin-eslint-plugin

    DownloadsWeekly Downloads

    162,941

    Version

    4.0.1

    License

    MIT

    Unpacked Size

    111 kB

    Total Files

    29

    Last publish

    Collaborators

    • not-an-aardvark
    • weiran.zsd