FDIM / eslint-plugin-ban

Ban some methods and functions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eslint-plugin-ban Build Status npm version

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-dev

Next, install eslint-plugin-ban:

$ npm install eslint-plugin-ban --save-dev

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-ban globally.

Usage

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

Todo

  • Possibility to add errorand warning at same time

Contributing

Please feel free to submit, comment anything on this repo :)

About

Ban some methods and functions


Languages

Language:JavaScript 100.0%