Skip to content

noUnusedImports

诊断类别:lint/correctness/noUnusedImports

¥Diagnostic Category: lint/correctness/noUnusedImports

自从:v1.3.0

¥Since: v1.3.0

来源:

¥Sources:

禁止未使用的导入。

¥Disallow unused imports.

未使用的导入可能是重构不完整造成的。代码修复可以删除与 import 相关的注释。参见最后一个无效示例。

¥Unused imports might be the result of an incomplete refactoring. The code fix can remove comments associated with an import. See the last invalid example.

请注意,未使用的导入前面的琐碎内容(例如注释或换行符)也将被删除。这样像 @ts-expect-error 这样的注释指令就不会被转移到错误的地方。

¥Note that the leading trivia, e.g., comments or newlines preceding the unused imports will also be removed. So that comment directives like @ts-expect-error won’t be transferred to a wrong place.

¥Options

此规则尊重 jsxRuntime 设置,如果设置为 "reactClassic",则会对 React 全局变量进行例外处理。

¥This rule respects the jsxRuntime setting and will make an exception for React globals if it is set to "reactClassic".

¥Examples

¥Invalid

import A from 'mod';
code-block.js:1:8 lint/correctness/noUnusedImports  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This import is unused.

> 1 │ import A from ‘mod’;
^
2 │

Unused imports might be the result of an incomplete refactoring.

Safe fix: Remove the unused import.

1 │ import·A·from·mod;
--------------------
import * as A from 'mod';
code-block.js:1:13 lint/correctness/noUnusedImports  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This import is unused.

> 1 │ import * as A from ‘mod’;
^
2 │

Unused imports might be the result of an incomplete refactoring.

Safe fix: Remove the unused import.

1 │ import·*·as·A·from·mod;
-------------------------
import { type A, B } from 'mod';
export { B }
code-block.ts:1:15 lint/correctness/noUnusedImports  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This import is unused.

> 1 │ import { type A, B } from ‘mod’;
^
2 │
3 │ export { B }

Unused imports might be the result of an incomplete refactoring.

Safe fix: Remove the unused import.

1 │ import·{·type·A,·B·}·from·‘mod’;
--------
// Header comment
import /*inner comment */ A from 'mod'; // Associated comment
// Another header comment
import {
// A's header comment
type A, // A's comment
// B's header comment
B,
} from 'mod';
export { B }
code-block.js:7:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

‘import { type x ident }’ are a TypeScript only feature. Convert your file to a TypeScript file or remove the syntax.

5 │ import {
6 │ // A’s header comment
> 7 │ type A, // A’s comment
^^^^^^
8 │ // B’s header comment
9 │ B,

TypeScript only syntax

¥Valid

import { A, type B } from 'mod';
function f(arg: B): A {
return new A(arg);
}

¥Related links