gengue / eslint-find-rules

Find built-in ESLint rules you don't have in your custom config

Home Page:http://npm.im/eslint-find-rules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eslint-find-rules

Join the chat at https://gitter.im/sarbbottam/eslint-find-rules

Use this for your own ESLint shareable configuration to list current configured rules, all-available rules, unused rules, and plugin rules.

Build Status Code Coverage version downloads MIT License PRs Welcome All Contributors

Acknowledgment

This module is an extended version of eslint-find-new-rules

Installation

Simply install locally as a development dependency to your project's package:

npm install --save-dev eslint-find-rules

Usage

It is expected to be used as local utility, as it needs eslint and the eslint-plugins being referred by the eslint-config file, to be installed. Using it as a global utility, will error out, if eslint and the eslint-plugins being referred by the eslint-config file, are not installed globally.

The intended usage is as an npm script:

{
  ...
  "scripts": {
    "eslint-find-option-rules": "eslint-find-rules [option] <file> [flag]"
  }
  ...
}
available options are -c|--current, -a|--all-available, -p|--plugin, -u|--unused
available flag is -n|--no-error

By default it will error out only for -u|--unused, however if you do not want the process to exit with a non-zero exit code, use the -n|--no-error along with -u|--unused

Then run it with: $ npm run eslint-find-option-rules -s (the -s is to silence npm output).

Specify a file

This is really handy in an actual config module (like eslint-config-kentcdodds) where you could also do:

// available options are -c|--current, -a|--all-available, -p|--plugin, -u|--unused
eslint-find-rules --option ./index.js

This is resolved, relative to the process.cwd() which, in the context of npm scripts is always the location of your package.json.

You may specify any config format supported by ESLint.

Absolute Path

You can also provide an absolute path:

eslint-find-rules --option ~/Developer/eslint-config-kentcdodds/index.js

Please note that any tested ESLint config file must reside below your project's root.

Default to main

It will also default to the main in your package.json, so you can omit the path/to/file argument:

eslint-find-rules --option

As a required module

var getRuleFinder = require('./eslint-find-rules')
var ruleFinder = getRuleFinder('path/to/eslint-config')

// default to the `main` in your `package.json`
// var ruleFinder = getRuleFinder()

// get all the current, plugin, available and unused rules
// without referring the extended files or documentation

ruleFinder.getCurrentRules()

ruleFinder.getCurrentRulesDetailed()

ruleFinder.getPluginRules()

ruleFinder.getAllAvailableRules()

ruleFinder.getUnusedRules()

Log the difference between two config files

{
  ...
  "scripts": {
    "eslint-diff-rules": "eslint-diff-rules <file1> <file2>"
  }
  ...
}

Contributors

Thanks goes to these wonderful people (emoji key):

Sarbbottam Bandyopadhyay
Sarbbottam Bandyopadhyay

💻 📖 ⚠️ 👀
Andreas Windt
Andreas Windt

💻 📖 ⚠️ 👀
Kent C. Dodds
Kent C. Dodds

💻 📖 ⚠️ 👀
Michał Gołębiowski
Michał Gołębiowski

💻
Jeroen Engels
Jeroen Engels

📖
Dustin Specker
Dustin Specker

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Special thanks to @mgol who created the original script.

LICENSE

MIT

About

Find built-in ESLint rules you don't have in your custom config

http://npm.im/eslint-find-rules

License:MIT License


Languages

Language:JavaScript 100.0%