Skip to content

Package to seperate no-unused-vars and no-unused-imports for eslint as well as providing an autofixer for the latter.

Notifications You must be signed in to change notification settings

Hubert-Zhu/eslint-plugin-unused-imports

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eslint-plugin-unused-imports

Find and remove unused es6 module imports. 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 imports. 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.

Typescript

If running typescript-eslint please use the -ts extension on your rules to make this also leverage type information (otherwise the autofixer will remove imports only used for type information). There is an example in the Usage section below.

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:

npm i eslint --save-dev

Next, install eslint-plugin-unused-imports:

npm install eslint-plugin-unused-imports --save-dev

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

Usage

Add unused-imports to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
 "plugins": ["unused-imports"]
}

Then configure the rules you want to use under the rules section. I can recommend adding a check for underscores, e.g.

{
 "rules": {
  "no-unused-vars": "off",
  "unused-imports/no-unused-imports": "error",
  "unused-imports/no-unused-vars": [
   "warn",
   { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" }
  ],
 }
}

Or, if using TypeScript:

{
 "rules": {
  "@typescript-eslint/no-unused-vars": "off",
  "unused-imports/no-unused-imports-ts": "error",
  "unused-imports/no-unused-vars-ts": [
   "warn",
   { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" }
  ],
 }
}

Supported Rules

  • no-unused-imports
  • no-unused-vars
  • no-unused-imports-ts
  • no-unused-vars-ts

About

Package to seperate no-unused-vars and no-unused-imports for eslint as well as providing an autofixer for the latter.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%