eslint-plugin-unused-vars
Version:
Report and remove unused es6 modules
68 lines (47 loc) • 2.36 kB
Markdown
# eslint-plugin-unused-vars
Find and remove unused es6 module imports and vars. It works by splitting up the `no-unused-vars` rule depending on it being an import statement in the AST and providing an autofix rule to remove the nodes if they are unused. This plugin composes the rule `no-unused-vars` of either the typescript or js plugin so be aware that the other plugins needs to be installed and reporting correctly for this to do so.
## _Version 2.0_
Version 2.x.x is for eslint 8 and version 1.x.x is for eslint 6 and 7.
## _Important for version 1.1_
The `-ts` rules are deprecated, the package now looks for `@typescript-eslint/eslint-plugin` to exist to decide between the typescript and eslint version.
The `-ts` rule will still work, but point to the new rule instead.
## Typescript
If running typescript with [@typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) make sure to use both `@typescript-eslint/eslint-plugin` and `@typescript-eslint/parser`.
## React
If writing react code you need to install `eslint-plugin-react` and enable the two rules `react/jsx-uses-react` and `react/jsx-uses-vars`. Otherwise all imports for components will be reported unused.
## Installation
You'll first need to install [ESLint](http://eslint.org) (and [@typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) if using typescript):
```bash
npm i eslint --save-dev
```
Next, install `eslint-plugin-unused-vars`:
```bash
npm install eslint-plugin-unused-vars --save-dev
```
**Note:** If you installed ESLint globally (using the `-g` flag) then you must also install `eslint-plugin-unused-vars` globally.
## Usage
Add `unused-vars` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix:
```json
{
"plugins": ["unused-vars"]
}
```
Then configure the rules you want to use under the rules section. I can recommend adding a check for underscores, e.g.
```json
{
"rules": {
"no-unused-vars": "off", // or "@typescript-eslint/no-unused-vars": "off",
"unused-vars/no-unused-imports": "error",
"unused-vars/no-unused-vars": [
"warn",
{
"autoFix": false, // disable auto fix
"vars": "all",
"varsIgnorePattern": "^_",
"args": "after-used",
"argsIgnorePattern": "^_"
}
]
}
}
```