Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
eslint-plugin-unused-imports
Advanced tools
The eslint-plugin-unused-imports npm package is designed to help developers identify and remove unused imports in their JavaScript or TypeScript code. This can help to keep codebases clean and reduce the size of the final bundle by eliminating unnecessary code.
Removing unused variables
This feature automatically detects and removes variables that are imported but never used in the code. The code sample shows how an unused import would be identified.
/* eslint-disable no-unused-vars */
import { usedFunction, unusedFunction } from 'my-module';
usedFunction();
Removing unused imports
This feature detects and suggests the removal of entire import statements when none of the imported bindings are used. In the code sample, 'useState' would be identified as an unused import.
import React, { useState } from 'react';
const MyComponent = () => {
return <div>Hello World</div>;
};
export default MyComponent;
Auto-fixing on save
The plugin can be configured to automatically fix issues on save, removing unused imports without manual intervention. The code sample shows the ESLint configuration to enable this feature.
// .eslintrc.js
module.exports = {
plugins: ['unused-imports'],
rules: {
'unused-imports/no-unused-imports': 'error',
},
};
This package includes a variety of linting rules for import/export syntax, including a rule to detect unused imports. It is more comprehensive than eslint-plugin-unused-imports, offering a wider range of import-related linting features.
This package provides linting rules to help ensure that tree shaking is effective by marking side-effectful module imports. It is similar in its goal to reduce bundle size but focuses more on the side effects rather than just 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.
If running typescript with @typescript-eslint make sure to use both @typescript-eslint/eslint-plugin
and @typescript-eslint/parser
.
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.
You'll first need to install ESLint (and @typescript-eslint if using typescript):
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.
Add unused-imports
to the plugins section of your eslint.config.js
configuration file.
import unusedImports from "eslint-plugin-unused-imports";
export default [{
plugins: {
"unused-imports": unusedImports,
},
rules: {
"no-unused-vars": "off", // or "@typescript-eslint/no-unused-vars": "off",
"unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [
"warn",
{
"vars": "all",
"varsIgnorePattern": "^_",
"args": "after-used",
"argsIgnorePattern": "^_",
},
]
}
}];
no-unused-imports
no-unused-vars
FAQs
Report and remove unused es6 modules
We found that eslint-plugin-unused-imports demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.