eslint-plugin-why

1.2.0 • Public • Published

eslint-plugin-why

Enforces adding a comment before disabling an ESLint rule.

fun gif

Trying to understand why someone ignored that lint rule? Need an explanation for what the heck is going on? Add eslint-plugin-why to your codebase and make contributors tell you why:

error  Expected an eslint-why comment before eslint-disable  why/tell-me-why

Installation

Install the plugin

$ npm install eslint-plugin-why --save-dev

Configuration

Add the following preset to your ESLint configuration:

  "extends"[
    "plugin:why/error"
  ]

But if you find it too aggressive, there's a preset that uses warnings instead of errors:

  "extends"[
    "plugin:why/warning"
  ]

Or you can add the rule yourself:

  "rules"{
    "why/tell-me-why": "error"
  }

Rule: why/tell-me-why

Good Examples

// eslint-why some people just want to watch the world burn
// eslint-disable-next-line semi
someCodeHere();
/*
    eslint-why
    because I like unexpected surprises
*/
// eslint-disable-next-line semi
someCodeHere();

Bad Examples

No why comment:

someCodeHere();
 
// eslint-disable-next-line semi
someCodeThere();

Why comment is too far away:

// eslint-why because testing in production is the only way we do
 
console.log("I like turtles");
 
// eslint-disable-next-line semi
someCodeHere();

Contributors

Dependencies (0)

    Dev Dependencies (6)

    Package Sidebar

    Install

    npm i eslint-plugin-why

    Weekly Downloads

    783

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    6.49 kB

    Total Files

    9

    Last publish

    Collaborators

    • cpt