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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.3.0
    0
    • alpha
  • 1.2.0
    428
    • latest

Version History

Package Sidebar

Install

npm i eslint-plugin-why

Weekly Downloads

428

Version

1.2.0

License

MIT

Unpacked Size

6.49 kB

Total Files

9

Last publish

Collaborators

  • cpt