ESLintとPrettierからの移行
Biomeには容易にESLintとPrettierから移行するためのコマンドがあります。
詳細について知りたくない場合は、ただ以下のコマンドを実行してください。
ESLintからの移行
Section titled ESLintからの移行多くのBiome linterのルールはESLintやESLintのプラグインのルールからインスパイアされて作られています。BiomeにはTypeScript ESLint、ESLint JSX A11y、ESLint React、ESLint UnicornなどのESLintプラグインのルールがあります。
しかし、Biomeのルールの名前には独自の慣習があり、例えばBiomeはcamelCaseRuleName
を使う一方で、ESLintはkebab-case-rule-name
を使います。
Biomeは、異なるルール名を採用しているケースが多くあります。
あるルールの出所は、そのルールを説明するページで見つけることができます。
もしくは、あるESLintのルールに対応するBiomeのルールはRules sourcesで見つけることができます。
移行を容易にするために、Biomeはbiome migrate eslint
サブコマンドを提供します。
このサブコマンドはESLintの設定を読み込んで、Biomeの設定に移行することを試みます。
このサブコマンドは古い設定ファイルも新しいflat configもサポートしています。
古い設定ファイルのextends
フィールドもサポートしていて、プラグインの設定と共有設定の両方を読み込みます。
また、このサブコマンドは.eslintignore
も移行します。
次のESLintの設定:
と次のBiomeの設定があるとします:
ESLintの設定をBiomeに移行するために以下のコードを実行できます。
このコマンドはBiomeの初期設定ファイルを上書きします。
例えば、recommended
は無効にされます。
結果は以下のようになります。
このサブコマンドはESLintの全てのプラグインとextends
フィールドを読み込むためにNode.jsを必要とします。
現在は、biome migrate eslint
はYAMLで書かれた設定ファイルをサポートしていません。
デフォルトでは、Biomeはインスパイアされたルールを移行しません。
--include-inspired
を使うことでインスパイアされたルールを移行することができます。
Biomeがいくつかのルールオプションを実装しないか、元の実装からわずかに逸脱することを選択したため、ESLintとまったく同じ動作を得る可能性は低いことに注意してください。
ESLintはVCS ignoreファイルを使用しているので、BiomeのVCS インテグレーションを有効にすることを推奨します。
Prettierからの移行
Section titled Prettierからの移行BiomeはPrettier formatterとできるだけ近い動作をするようにしています。
しかし、Biomeは異なるデフォルトを使用します。
例えば、Biomeはスペースの代わりにタブを使用します。
biome migrate prettier --write
を実行することで容易にBiomeに移行することができます。
次のPrettierの設定:
がある場合、以下のコマンドを実行することでPrettierの設定をBiomeに移行することができます。
結果は以下のようになります。
このサブコマンドは.prettierrc.js
などの設定を読み込むためにNode.jsを必要とします。
biome migrate prettier
はJSON5、TOML、YAMLで書かれた設定ファイルをサポートしていません。
PrettierはVCSファイルをサポートしているので、BiomeのVCS インテグレーションを有効にすることを推奨します。