Use this for your own ESLint shareable configuration to list current configured rules, all-available rules, unused rules, and plugin rules.
This module is an extended version of eslint-find-new-rules
Simply install locally as a development dependency to your project's package:
npm install --save-dev eslint-find-rules
It is expected to be used as
local
utility, as it needseslint
and theeslint-plugins
being referred by theeslint-config
file, to be installed. Using it as aglobal
utility, will error out, ifeslint
and theeslint-plugins
being referred by theeslint-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).
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.
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.
It will also default to the main
in your package.json
, so you can omit the path/to/file
argument:
eslint-find-rules --option
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()
{
...
"scripts": {
"eslint-diff-rules": "eslint-diff-rules <file1> <file2>"
}
...
}
Thanks goes to these wonderful people (emoji key):
Sarbbottam Bandyopadhyay 💻 📖 |
Andreas Windt 💻 📖 |
Kent C. Dodds 💻 📖 |
Michał Gołębiowski 💻 |
Jeroen Engels 📖 |
Dustin Specker 💻 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
Special thanks to @mgol who created the original script.
MIT