Biomeの個人スポンサーになった


Biome の個人スポンサーになりました。月 5 ドルの tier で支援しています。

Biome と私

Biome は、Rust で開発されている JavaScript プロジェクト向けのツールチェインを提供するプロジェクトです。自分は 2023 年 12 月ごろから触り始めていました。以下の Zenn スクラップはその時のメモです。

いくつかのプロジェクトで使ってみており、その速度にすぐさま虜になりました。このブログでも Linter, Analyzer, Formatter として使っています。以下は設定ファイルです。

pnpm format で自動修正できるようにしていますが、今適当に試してみると 93 ファイルを 15ms で修正できています。あまりにも速いので、個人的には好みではなかった lint-staged を設定しても良いかも、とも思い始めています。

$ pnpm format
 
> mysite@ format /Users/mh4gf/ghq/github.com/MH4GF/mysite
> run-p -c format:*
 
 
> mysite@ format:biome-format /Users/mh4gf/ghq/github.com/MH4GF/mysite
> biome format . --write
 
 
> mysite@ format:biome-check /Users/mh4gf/ghq/github.com/MH4GF/mysite
> biome check . --apply-unsafe
 
Fixed 93 file(s) in 14ms
Formatted 93 file(s) in 15ms

まだ Experimental のルールですが、tailwindcss クラスのソートを行うルールがリリースされたため早速有効化したりもしています。

細かいドキュメントの修正 PR も出したことがありました。

Biome に期待していること

ESLint や Prettier を Biome 一つに置き換えられると理想ですが、自分のユースケースでは現状全てを代替することはできていません。

Prettier は取り急ぎアンインストールし Biome に置き換えて運用できていますが、Markdown や CSS などサポートされていない言語もまだまだ多いです。これらのファイルをフォーマットしたい時は、 Prettier の VSCode 拡張でフォーマットする形でお茶を濁しています。

ESLint については利用したいルールがまだ Biome に移植されていないことも多いので、現状は併用する形で運用しています。Biome のアップデートに伴いルールが追加されていくため、それらを見つつ ESLint 側で無効化したりしています。

上記で挙げた言語サポート・プラグイン機構・ルールの移植については、 全て Biome のロードマップで取り上げられています。

プラグイン機構については最近 GitHub Discussions で RFC の議論が始まっています。

どれも楽しみで応援したくなりますね。

おわり

Biome に個人スポンサーという形で支援した話でした。
隙を見てコードでもコントリビュートしていきたいですね。Rust の勉強頑張ろう。