Import文のソート
Biomeは、import文を自然順に従ってソートします。
この機能はデフォルトで有効ですが、以下のように設定を通じてオプトアウトすることができます。
Import文がどのようにソートされるか
Section titled Import文がどのようにソートされるかimport文は、“距離” によってソートされます。ユーザーから “遠い” モジュールが上に配置され、ユーザーに “近い” モジュールが下に配置されます。
bun:
プロトコルを介してインポートされたモジュール。これはBunによって実行されるコードを書く場合に適用されます。node:
プロトコルを使用して明示的にインポートされるNode.jsの組み込みモジュールおよびassert
などの一般的なNodeビルトイン。npm:
プロトコルを介してインポートされたモジュール。これはDenoで実行されるコードを書く場合に適用されます。- URLを介してインポートされたモジュール。
- ライブラリからインポートされたモジュール。
- 絶対インポート (absolute import) を使用してインポートされたモジュール。
#
の接頭辞が付いた名前からインポートされたモジュール。これは、Nodeのサブパスインポートを使用する場合に適用されます。- 相対インポート (relative import) を使用してインポートされたモジュール。
- 前述の基準で識別できなかったモジュール。
例えば、次のコードが与えられた場合、
次のようにソートされます。
ソートを適用する方法は、CLIを使用した場合またはVS Code拡張機能を使用した場合の2つあります。
グループインポート
Section titled グループインポート主にフロントエンドのプロジェクトで作業する場合やCSSファイルをインポートする際には、特定の順序でimport文を宣言することは一般的です。
他の一般的なケースは、polyfill や shim ファイルをインポートすることです。これらはファイルの先頭に配置する必要があります。
こういったケースでは、Biomeがimport文をすべてソートすることによりアプリケーションの従来の挙動を壊す可能性があります。
これを回避するためにはimport文の”グループ”を作成します。改行を追加することでグループに区切ることができます。
これによりBiomeは、ソートの対象をグループに属するimport文のみに制限します。
CLIを使用した場合
Section titled CLIを使用した場合オプション--write
を指定して、check
コマンドを実行します。
VS Code拡張機能を使用した場合
Section titled VS Code拡張機能を使用した場合BiomeのVS Code拡張機能は、Organize Imports コードアクションによるimport文のソートをサポートしています。 このアクションはデフォルトで ⇧+Alt+O キーボードショートカットを使用して実行するか、 コマンドパレット (Ctrl/⌘+⇧+P) から Organize Imports を選択してアクセスできます。
ファイル保存時に自動で実行したい場合は、エディタの設定に以下を追加することで実現できます。