eslint-plugin-ban v2.0.0
eslint-plugin-ban

Allows you to bannish some methods or functions. Inspired by tslint ban rule
Installation
You'll first need to install ESLint:
$ npm i eslint --save-devNext, install eslint-plugin-ban:
$ npm install eslint-plugin-ban --save-devNote 1: Works with ESLint >= 9. For ESLint < 9, prefer using eslint-plugin-ban 1.x (compatibility of newer versions not guaranteed).
Note 2: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-ban globally.
Usage
Flat config
Import ban plugin in your eslint.config.js configuration file.
import pluginBan from 'eslint-plugin-ban';Then use plugin and configure the rules you want to use.
export default [
// ...
{
plugins: { ban: pluginBan },
rules: {
'ban/ban': [
2,
{ name: 'functionName', 'message': 'Prefer use functionName2' },
],
},
},
];Legacy config
Add ban to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:
{
"plugins": ["ban"]
}Then configure the rules you want to use under the rules section.
{
"rules": {
"ban/ban": [
2,
{ "name": "functionName", "message": "Prefer use functionName2" }
]
}
}Some examples
An error
{
"rules": {
"ban/ban": [
2,
{
"name": ["*", "push"],
"message": "Prefer use es6 spread like [...items, newItem]"
}
]
}
}A simple warning
{
"rules": {
"ban/ban": [
1,
{
"name": "api",
"message": "This function is deprecated, please use api.call()"
}
]
}
}Multiple errors
{
"rules": {
"ban/ban": [
"error",
{
"name": "api",
"message": "This function is deprecated, please use api.call()"
},
{
"name": ["*", "push"],
"message": "Prefer use es6 spread like [...items, newItem]"
},
{ "name": "functionName", "message": "Prefer use functionName2" }
]
}
}Widcard
{
"rules": {
"ban/ban": [
2,
{ "name": ["console", "*"], "message": "Please use our logger" }
]
}
}Todo
- Possibility to add
errorandwarningat same time
Contributing
Please feel free to submit, comment anything on this repo :)