Security News
Python Overtakes JavaScript as Top Programming Language on GitHub
Python becomes GitHub's top language in 2024, driven by AI and data science projects, while AI-powered security tools are gaining adoption.
eslint-find-rules
Advanced tools
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]"
}
...
}
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.
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.
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.
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
require
d modulevar 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()
{
...
"scripts": {
"eslint-diff-rules": "eslint-diff-rules <file1> <file2>"
}
...
}
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Special thanks to @mgol who created the original script.
MIT
FAQs
Find built-in ESLint rules you don't have in your custom config.
We found that eslint-find-rules demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Python becomes GitHub's top language in 2024, driven by AI and data science projects, while AI-powered security tools are gaining adoption.
Security News
Dutch National Police and FBI dismantle Redline and Meta infostealer malware-as-a-service operations in Operation Magnus, seizing servers and source code.
Research
Security News
Socket is tracking a new trend where malicious actors are now exploiting the popularity of LLM research to spread malware through seemingly useful open source packages.