Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I remove unused imports/declarations from the entire project of React Typescript?

Tags:

I'm trying to remove unused imports and declarations as answered in this SO thread for Angular. I'm trying to achieve the goal using eslint-plugin-react, but not found any option to remove the unused imports and daclarations from the entire project, with a single command.

Here is my .eslintrc.json

{     "env": {         "browser": true,         "es2021": true     },     "extends": [         "eslint:recommended",         "plugin:react/recommended",         "plugin:@typescript-eslint/recommended"     ],     "parser": "@typescript-eslint/parser",     "parserOptions": {         "ecmaFeatures": {             "jsx": true         },         "ecmaVersion": 12     },     "plugins": [         "react",         "@typescript-eslint",         "unused-imports"     ],     "rules": {         "indent": [             "warn",             "tab"         ],         "linebreak-style": [             "warn",             "windows"         ],         "quotes": [             "warn",             "double"         ],         "semi": [             "warn",             "always"         ],         "@typescript-eslint/no-unused-vars": "on",         "unused-imports/no-unused-imports-ts": "on"     } }  

Or is there a way to do the same using ESLint or Typescript Hero extensions in VS Code?

like image 605
DevLoverUmar Avatar asked Oct 15 '20 05:10

DevLoverUmar


People also ask

How do you remove all unused imports in react?

Use unused-imports/no-unused-imports instead of no-unused-vars , as rule name. If you're using the ESLint version, eslint-plugin-unused-imports, you may want to change the rule name to unused-imports/no-unused-imports instead of the blanket no-unused-vars . Refer to the author's GitHub for detailed usage.

How do I automatically delete unused imports?

CTRL + ALT + O ---> to remove the unused imports in windows.

How do I automatically delete unused imports in VSCode?

While refactoring your javascript/typescript code it's easy to remove things but forget to get rid of the unused imports. In VSCode, you can easily remove these with the shortcut : Shift + Alt + O.

Why should we remove unused imports?

An unused import still creates a dependency. If you don't realize that a dependency is only because of unused imports, you can waste time updating the module version, investigating vulnerability reports related to that module, etc.


Video Answer


2 Answers

Using unused-imports plugin and unused-imports/no-unused-imports-ts rule, eslint --fix will remove the imports.

Here is an example repo which --fix removes the unused imports.

https://github.com/moshfeu/eslint-ts-unused-imports

Old answer

eslint has a built-in fix option.

eslint ... --fix 

If rules contains no-unused-vars, eslint will "fix" the unused import by removing them (along with other auto fixes).

like image 181
Mosh Feu Avatar answered Sep 17 '22 11:09

Mosh Feu


TL;DR

Use unused-imports/no-unused-imports instead of no-unused-vars, as rule name.


If you're using the ESLint version, eslint-plugin-unused-imports, you may want to change the rule name to unused-imports/no-unused-imports instead of the blanket no-unused-vars.

{     "rules": {         "unused-imports/no-unused-imports": "error"     } } 

Refer to the author's GitHub for detailed usage.

For me, no-unused-var does not come with an auto fixer (it'll merely mentioned then number of errors/warnings but when I switch to unused-imports/no-unused-imports, all of the issues are automagically fixed.

like image 37
aheryan Avatar answered Sep 19 '22 11:09

aheryan