⛰️
Biomeのセットアップ
ESlintの設定が苦しくなったのでBiomeを導入してみました。
1. VSCodeの設定
-
VSCodeの拡張機能のインストール
Biome VS Code extension
VSCode拡張機能 -
Formatterの設定
右下の歯車マークから「設定」を開いて「format」で検索すると「Editor:DefaultFormatter」が出てきます。
Formatterの設定
2. プロジェクトにBiomeをインストール
- npmパッケージのインストール
npm install --save-dev --save-exact @biomejs/biome
npx @biomejs/biome init
設定ファイルbiome.json
が作成されます。
ここまでの設定を終えれば、VSCodeで警告・フォーマットされるようになります。
警告文からドキュメントに飛べて、ドキュメントがわかりやすいのでなんのエラーかすぐにわかります。
- ignoreファイルを設定する
json biome.json
{
...
files: {
"ignore": ["**/node_modules/**/]
}
}
3. コマンド
- lint
npx @biomejs/biome lint --write ファイル名
- format
npx @biomejs/biome format --write ファイル名
- lint + format + import文のソート
npx @biomejs/biome check --write ファイル名
import文ファイルからの距離によってソートされるみたいです。
(距離が同じ場合はアルファベット順)
-
試しに
check --write
してみる
ソート前
ソート後
4. Huskyでコミット前にlint, format, import文のソートを適用
- HuskyとLint-stagedのインストール
npm i --save-dev husky lint-staged
npx husky install
これで.husky/
ディレクトリが作成されます。
.husky/pre-commit
npx lint-staged
- package.jsonの編集
json package.json
...
"scripts": {
...
"prepare": "husky"
},
...
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"biome check --write --no-errors-on-unmatched" //お好みのコマンド
]
}
lint-stagedに設定するコマンド例
-
"biome check --files-ignore-unknown=true "
フォーマットのチェックとリント -
"biome check --write --no-errors-on-unmatched "
フォーマット、インポート文のソート、リント、安全な修正の適用 -
"biome check --write --organize-imports-enabled=false --no-errors-on-unmatched "
フォーマットと安全な修正の適用 -
"biome check --write --unsafe --no-errors-on-unmatched "
フォーマット、インポート文のソート、リント、安全及び安全ではない修正の適用 -
"biome format --write --no-errors-on-unmatched"
フォーマット -
"biome lint --write --no-errors-on-unmatched "
リントと安全な修正の適用
Discussion