merge-imports
同じモジュールを指す連続した import 宣言を 1 つにまとめます。
- ルール ID:
tai-kun/merge-imports - 自動修正: あり
同じモジュールを指す連続した import 宣言を 1 つにまとめます。default import と名前付き import も 1 つの宣言にできます。
設定
このルールを有効にするには、vite.config.ts の lint.rules に追加します。
"tai-kun/merge-imports": "error",
例
違反例
import value from "module";
import { a } from "module";
import { b } from "module";
修正後
import value, { a, b } from "module";
型のみの import と値の import もまとめられます。
import type { A } from "module";
import { b } from "module";
import { type A, b } from "module";
注意
- 連続した import 宣言だけを対象にします。間に別の import や文が入る場合は、モジュールの評価順序を変えないようにまとめません。
- 副作用だけの import(
import "module";)、namespace import(import * as namespace from "module";)、別名の default import が複数ある場合は対象外です。 - import 属性(
with { ... })が異なる宣言はまとめません。 - specifier の外側にコメントがある場合は、コメントを失わないように対象外です。
- 型のみの宣言と値の宣言をまとめる場合は、
typeを specifier に付けます。import type Foo from "module";と名前付き import をまとめる場合はimport { type default as Foo, ... }に変換します。 - 複数行の import は複数行のまま、末尾のカンマの有無も保ちます。