Code Monkey home page Code Monkey logo

eslint-find-rules's Introduction

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

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

available options are -a|--all-available, -c|--current, -d|--deprecated, -p|--plugin, -u|--unused
available flags are -n|--no-error, --no-core, -i/--include deprecated, and --ext .js

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

By default, core rules will be included in the output of -a|--all-available, -c|--current, -d|--deprecated, and -u|--unused. If you want to report on plugin rules only, use the --no-core flag.

By default, deprecated rules will be omitted from the output of -a|--all-available, -p|--plugin and -u|--unused. If you want to report on deprecated rules as well, use the --include=deprecated or -i deprecated flag.

By default, rules will be searched for files having .js extension. If you want to find rules using another extension (.json for example), use the --ext .json flag (or --ext .js --ext .json if you need multiple extensions).

NOTE: Deprecated rules are found by looking at the metadata of the rule definition. All core rules and many plugin rules use this flag to indicate deprecated rules. But if you find a plugin that does not mark their rules as deprecated in the rule metadata, please file a pull request with that project.

Specify a file

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

// available options are -a|--all-available, -c|--current, -d|--deprecated, -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 = await 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()

ruleFinder.getDeprecatedRules()

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

πŸ’» πŸ“– ⚠️ πŸ‘€

Andreas Windt

πŸ’» πŸ“– ⚠️ πŸ‘€

Kent C. Dodds

πŸ’» πŸ“– ⚠️ πŸ‘€

Scott Nonnenberg

πŸ’» ⚠️

MichaΕ‚ GoΕ‚Δ™biowski

πŸ’»

Jeroen Engels

πŸ“–

Dustin Specker

πŸ’»

Randy Coulman

πŸ’» ⚠️

Jordan Harband

πŸ“– πŸ› πŸ’» πŸ’¬ πŸ‘€ ⚠️ πŸš‡

Brad Zacher

πŸ’» ⚠️

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

Special thanks to @mgol who created the original script.

LICENSE

MIT

eslint-find-rules's People

Contributors

bradzacher avatar chrisblossom avatar csantos1113 avatar dustinspecker avatar evocateur avatar gitter-badger avatar greenkeeperio-bot avatar jfmengels avatar lddubeau avatar ljharb avatar michaeldeboey avatar nicolaichuk avatar nicolashenry avatar paperstrike avatar randycoulman avatar sarbbottam avatar scottnonnenberg avatar soda0289 avatar ta2edchimp avatar xotic750 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.