Update dependency @biomejs/biome to v2.5.0#243
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
レビュー結果📋 概要
✅ 肯定的なポイント
|
03a4cfe to
758524c
Compare
プルリクエスト #243 レビュー概要このPRは コード品質とベストプラクティス肯定的な点
潜在的なバグや問題注意が必要な新機能と変更1. 重要な動作変更: 推奨ルールの自動有効化の変更影響: 一部のルールが無効化される可能性があります。現在のプロジェクトでは 2. 非推奨:
|
758524c to
2c3552d
Compare
レビュー結果 ✅Biome 2.2.7から2.3.0へのアップデートをレビューしました。 📊 総合評価承認推奨 - 依存関係の更新内容は適切ですが、いくつか注意点があります。 ✅ 良い点
|
2c3552d to
39b7da9
Compare
PR レビューこのPRは @biomejs/biome を2.2.7から2.3.0へアップデートする自動更新です。以下の観点からレビューを実施しました。 ✅ コード品質とベストプラクティス
🔍 潜在的なバグや問題重要な動作変更に注意が必要です:
⚡ パフォーマンスの考慮事項
🔒 セキュリティ上の懸念
🧪 テストカバレッジ推奨される検証手順:
📋 総評このアップデートは全体的に安全ですが、以下の点に注意してマージすることを推奨します: マージ前の確認事項:
オプション:
全体として、このアップデートは多くの新機能と改善を含む良質なアップデートです。Automergeが有効になっていますが、上記の確認を行ってからマージすることを推奨します。 |
39b7da9 to
a65553a
Compare
プルリクエスト #243 レビュー概要Renovateによる@biomejs/biomeのバージョン更新(2.2.7 → 2.3.1)です。 ✅ コード品質とベストプラクティス
🔍 変更内容の詳細更新されたファイル:
影響を受けるパッケージ:
📝 Biome 2.3.1での主な変更点このアップデートには以下の重要な機能とバグ修正が含まれています: 新機能 (v2.3.0)
バグ修正 (v2.3.1)
🚀 パフォーマンスの考慮事項
🔒 セキュリティ上の懸念
🧪 テストカバレッジ
📌 マージ前のチェックリスト
💡 総評承認推奨: この更新は安全で、新機能とバグ修正を含む有益なアップグレードです。Renovateによる自動更新で、変更内容も適切です。CIが通過していれば、マージして問題ありません。 |
a65553a to
ebae900
Compare
プルリクエスト #243 レビュー概要Biomejs の 2.2.7 から 2.3.1 へのバージョンアップPRです。Renovate による自動更新で、主に pnpm-lock.yaml と pnpm-workspace.yaml のバージョン指定が更新されています。 ✅ コード品質とベストプラクティス良い点:
推奨事項:
🐛 潜在的なバグや問題注意点:
対応推奨: # 変更による影響を確認
pnpm biome check --write
# フォーマットの差分を確認
pnpm biome format --write⚡ パフォーマンスの考慮事項特にパフォーマンスに影響する変更は見られません。むしろバグフィックスにより、以下の点で改善が期待できます:
🔒 セキュリティ上の懸念
🧪 テストカバレッジ推奨事項:
📋 アクションアイテムマージ前に以下を実施することを推奨します:
総評全体的に安全なバージョンアップです。主にバグフィックスと新機能追加で、破壊的変更は限定的です。ただし、ドメインルールの自動有効化ロジック変更により、一部のルールが無効化される可能性があるため、マージ前の動作確認を推奨します。 推奨アクション: マージ前に |
3ddc1ce to
622841f
Compare
レビュー結果✅ 総合評価このBiomeのバージョンアップデート(2.2.7 → 2.3.2)は承認可能です。変更は依存関係の更新のみで、重大な問題は見当たりません。 📋 変更内容の概要アップデート内容
主要な新機能と改善点v2.3.0(マイナーリリース)の重要な変更:
v2.3.1 & v2.3.2(パッチリリース)のバグフィックス:
🔍 プロジェクトへの影響評価ポジティブな影響
潜在的なリスク
📝 推奨アクション必須対応
推奨対応
🔒 セキュリティ
⚡ パフォーマンス
✅ 結論このPRは承認を推奨します。重大な問題はなく、React 19.2サポートの改善など、プロジェクトにとって有益な更新が含まれています。マージ後は念のためフォーマット/リントチェックを実行して、新しいルールによる影響を確認してください。 |
レビュー結果このPRは、Biomeを2.2.7から2.3.2にアップデートするRenovateによる自動更新です。以下の観点でレビューしました。 ✅ コード品質とベストプラクティス
📝 主な変更点(2.2.7 → 2.3.2)v2.3.2の主な修正
v2.3.0の新機能(影響度大)
🔒 セキュリティ上の考慮事項
⚡ パフォーマンスの考慮事項
🧪 テストカバレッジ
🎯 推奨事項
結論✅ 承認を推奨します このアップデートは主にバグ修正とパーサー改善を含む安全な更新です。破壊的変更はなく、マイナーな新機能追加と非推奨化の警告のみです。CIが通過したらマージして問題ありません。 ただし、マージ後に上記の推奨事項(特にスキーマバージョン更新と新ルールの確認)を実施することをお勧めします。 |
622841f to
7b8cdc7
Compare
プルリクエストレビュー: Biome 2.2.7 → 2.3.2 アップデート概要Renovate による @biomejs/biome のマイナーバージョンアップです。2.2.7 から 2.3.2 への更新が提案されています。 ✅ 良い点
🔍 確認事項と推奨アクション1. 新機能と影響範囲の確認このアップデートには以下の重要な変更が含まれています: v2.3.0 の主な変更点:
影響を受けるルール:
v2.3.1-2.3.2:
2. 推奨される対応必須:
推奨:
3. セキュリティとパフォーマンス
📋 テストの推奨このPRをマージする前に、以下のコマンドを実行することを推奨します: pnpm install
pnpm run validate:check
pnpm run build
pnpm run test結論推奨: ✅ 承認(テスト後) このアップデートは適切に管理されており、重要なバグ修正と新機能が含まれています。ただし、lint ルールの動作変更があるため、マージ前に CI が通ることを確認してください。特に React プロジェクトの場合は注意が必要です。 このレビューは Claude Code により自動生成されました |
7b8cdc7 to
8e5a5ca
Compare
レビュー結果このプルリクエストは、Renovateによる ✅ 良い点
🔍 確認事項1. スキーマバージョンの更新が必要
- "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
+ "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",または、バージョン非依存の最新版を参照する方法もあります: "$schema": "https://biomejs.dev/schemas/latest/schema.json",2. 新機能・破壊的変更の確認v2.3.x系では以下の重要な変更が含まれています: 主な新規ルール:
バグ修正の例:
パフォーマンス改善:
3. テストの実行マージ前に以下のコマンドでプロジェクト全体の整合性を確認してください: # フォーマットとリントのチェック
pnpm biome check .
# CI/CDパイプラインの実行
pnpm test📝 推奨アクション
結論承認を推奨します が、上記の確認事項を実施してからマージすることをお勧めします。特に、スキーマバージョンの更新とフルテストの実行は必須です。 自動生成されたレビュー by Claude Code |
PR #243 レビュー: @biomejs/biome 2.2.7 → 2.3.10 へのアップデート📋 概要Renovateによる@biomejs/biomeの依存関係アップデート(2.2.7 → 2.3.10)です。このPRはマイナーバージョンアップデートで、主にバグフィックスと新しいリンタールールの追加が含まれています。 ✅ コード品質とベストプラクティス良い点:
改善提案:
{
- "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
+ "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",これにより、エディタでの補完やバリデーションが最新バージョンに対応します。 🐛 潜在的なバグや問題影響のある変更:
推奨アクション: # 新しいバージョンでのリンターチェックを実行
pnpm biome check .
# フォーマットの自動修正を実行
pnpm biome check --write .🚀 パフォーマンスの考慮事項改善点:
これらの改善により、大規模なプロジェクトでのフォーマット速度が向上することが期待できます。 🔒 セキュリティ上の懸念新しいセキュリティ関連ルール:
セキュリティリスク:
🧪 テストカバレッジテストに関する推奨事項:
📊 変更ファイル
両ファイルとも期待通りの変更内容です。 🎯 総合評価承認推奨度: ✅ 承認可能 理由:
マージ前のチェックリスト:
💡 追加の提案新しく追加されたnurseryルールの中で、プロジェクトに有益と思われるもの:
これらのルールを有効化することで、コード品質とセキュリティをさらに向上させることができます。 レビュー完了日: 2025-12-20 |
PR レビュー: @biomejs/biome 2.2.7 → 2.3.10 へのアップデート✅ 総合評価このPRは問題なくマージ可能です。Renovate botによる依存関係の自動アップデートで、適切に管理されています。 📋 変更内容の確認変更ファイル
バージョン差分2.2.7 → 2.3.10 (パッチバージョン3つ分: 2.3.8, 2.3.9, 2.3.10) 🔍 主要な変更点の分析新規ルール追加以下のルールが追加されましたが、現在の設定(
バグ修正(重要)
|
レビュー結果このプルリクエストは ✅ 良い点
📋 主な変更内容このアップデートには以下の重要な修正が含まれています: v2.3.10 (最新)
v2.3.9
v2.3.8
🔍 推奨事項
総合評価承認を推奨します ✅ 変更内容は適切で、多くのバグ修正とパフォーマンス改善が含まれています。ただし、マージ前に CI の結果を確認し、可能であればローカルでも動作確認を行ってください。 |
レビュー結果このPRは@biomejs/biomeのバージョンを2.2.7から2.3.10にアップデートするものです。以下の観点でレビューしました。 ✅ コード品質とベストプラクティス
|
レビュー結果このPRは @biomejs/biome のバージョンアップデート(2.2.7 → 2.3.10)です。以下の観点でレビューしました。 ✅ コード品質とベストプラクティス
🔍 潜在的なバグや問題注意が必要な点:
📋 推奨アクションマージ前に実施すべきこと:
🚀 パフォーマンスの考慮事項良好な点:
🔒 セキュリティ上の懸念良好な点:
🧪 テストカバレッジ推奨事項:
📝 総評承認推奨: このPRは問題なくマージできる状態ですが、上記の推奨アクションを実施してから��ージすることを強くお勧めします。 特に、新しいlintルールによる警告が多数発生する可能性があるため、事前に確認しておくことで、後続の開発作業がスムーズになります。 変更ファイル:
|
レビュー結果📋 概要Renovate Bot による ✅ 良い点
🔍 確認事項1. 破壊的変更の可能性(優先度: 高)
推奨アクション:
2. パフォーマンス改善
🔒 セキュリティ
🧪 テストカバレッジ
推奨アクション:
📝 推奨事項
結論承認可能です ✅ ただし、以下の条件を満たすことを推奨します:
依存関係のアップデートは適切に実施されており、Biome のバグ修正やパフォーマンス改善の恩恵を受けられます。 |
コードレビュー - Biome v2.3.10 へのアップデート✅ 承認 (LGTM)このPRは 📋 変更内容
🔍 レビュー観点✅ コード品質とベストプラクティス
✅ 潜在的なバグや問題特に問題は検出されませんでしたが、以下の点に注意が必要です:
|
レビュー結果このPRは @biomejs/biome を 2.2.7 から 2.3.10 へアップデートするものです。以下の観点から確認しました: ✅ コード品質とベストプラクティス良い点:
✅ 潜在的なバグや問題確認した点:
推奨事項:
✅ パフォーマンスの考慮事項改善点:
✅ セキュリティ上の懸念新しいセキュリティ関連ルール:
✅ テストカバレッジ確認事項:
📋 アクションアイテムマージ前/後に以下を実施することを推奨します:
結論このアップデートは 安全にマージ可能 と判断します。ただし、上記のアクションアイテムを実施し、特にセキュリティ関連の新しいルール( 複数のバグ修正とパフォーマンス改善が含まれているため、アップデートすることをお勧めします。 |
コードレビュー概要@biomejs/biome を 2.2.7 から 2.3.10 にアップデートする変更です。複数のバグ修正と新機能が含まれています。 ✅ 良い点
|
レビュー結果📋 概要このPRは ✅ コード品質とベストプラクティス
🐛 潜在的なバグや問題注意が必要な変更点:
⚡ パフォーマンスの考慮事項ポジティブな変更:
🔒 セキュリティ上の懸念セキュリティ改善:
🧪 テストカバレッジ
📝 推奨事項
結論✅ このPRは承認可能です。 Biomejs 2.3.10へのアップデートは、バグ修正とパフォーマンス改善を含む安全なアップデートです。ただし、上記の推奨確認を実施してからマージすることをお勧めします。 |
📝 Biome 2.3.10 アップデートレビュー✅ 変更内容Renovate による @biomejs/biome のバージョンアップデート: 2.2.7 → 2.3.10 👍 良い点
|
コードレビュー: Biome v2.2.7 → v2.3.10 アップデート概要このPRは、@biomejs/biomeをv2.2.7からv2.3.10にアップデートする依存関係の更新です。Renovateによる自動生成のため、コード品質は問題ありません。 ✅ 良い点
📋 確認推奨事項1. 新しいLintルールの影響確認v2.3.xでは複数の新しいnurseryルールが追加されています:
推奨アクション: マージ後に 2. 主要なバグ修正の恩恵
3. パフォーマンスの改善
🔍 潜在的な問題破壊的変更の可能性(低リスク)v2.3.9で以下のルールの動作が変更されました:
これらの変更により、既存のコードで新たな警告が表示される可能性があります。 🎯 推奨事項
結論✅ マージ推奨: このアップデートには重要なバグ修正とパフォーマンス改善が含まれており、マージを推奨します。ただし、マージ後は新しいLintルールによる警告がないか確認することをお勧めします。 セキュリティ上の懸念事項はありません。 |
📋 レビュー結果このPRは @biomejs/biome の 2.2.7 から 2.3.10 へのアップデートです。以下の観点からレビューを実施しました。 ✅ 変更内容
🔍 コード品質とベストプラクティス良い点:
🐛 潜在的なバグや問題注意事項: 2.3.9と2.3.10で重要な修正が含まれています:
⚡ パフォーマンスの考慮事項改善点: 🔒 セキュリティ上の懸念新しいセキュリティルール:
セキュリティ面での懸念はなく、むしろセキュリティが強化されています。 🧪 テストカバレッジ推奨アクション: このアップデートには多くのルール修正と新機能が含まれているため、以下を実施することを推奨します:
📝 新機能と破壊的変更新しいNurseryルール:
破壊的変更:
💡 総合評価判定: ✅ 承認推奨 このアップデートは:
マージ前の確認事項:
次のステップ:
このレビューはClaude Codeによって生成されました |
PR #243 レビュー - Biome 2.3.11へのアップデート概要RenovateによるBiomeのバージョンアップデート(2.2.7 → 2.3.11)です。 コード品質とベストプラクティス✅ 良い点:
潜在的な問題🔍 確認が必要な項目:
パフォーマンスの考慮事項✅ パフォーマンス改善:
セキュリティ上の懸念✅ セキュリティ関連の改善:
テストカバレッジ
CIが全てパスしていることを確認してください。 推奨アクションマージ前に以下を実施することを推奨します: # スキーマバージョンの更新
# biome.jsonc の $schema を "https://biomejs.dev/schemas/2.3.11/schema.json" に更新
# 検証の実行
pnpm run validate:check
# 問題があれば修正
pnpm run validate:fix総評✅ マージ推奨度: 高 依存関係の更新として適切に管理されています。Biome 2.3.11には多くのバグ修正とパフォーマンス改善が含まれており、積極的に更新すべきです。 ただし、上記の確認事項を実施してからマージすることを推奨します。特にスキーマバージョンの更新と、CIの全チェックパスを確認してください。 |
プルリクエストレビュー概要Renovateによる ✅ 良い点
🔍 検討事項
📝 推奨アクションマージ前に以下を実施することを推奨します:
総評依存関係の定期的な更新は重要であり、このPRは適切に管理されています。ただし、バージョン差分が大きいため、マージ前に動作確認を行うことを強く推奨します。特に、新しく追加されたルールが既存のコードベースに影響を与えないか確認してください。 |
|
@claude biome でフォーマットかけてフォーマットエラーが出ないように修正してコミットして |
|
Claude finished @harusame0616's task in 1m 28s —— View job Biome フォーマット修正タスク状況申し訳ございませんが、現在の権限設定により、以下のコマンドの実行に承認が必要です:
解決方法このタスクを完了するには、以下のいずれかの方法をお試しください:
代替アプローチもし特定のファイルのみフォーマット修正が必要な場合は、ファイルパスをお知らせいただければ、直接ファイルを読み取り、手動でフォーマット修正を適用することも可能です。 |
レビューコメント概要
✅ 良い点
📋 確認事項1. 新規ルールの影響確認このアップデートには多数の新規 linter ルールが含まれています。以下の nursery ルールが追加されているため、プロジェクトへの影響を確認する必要があります:
推奨アクション: マージ前に 2. 型推論の改善による影響PR #8537 と #8546 により、boolean 式や union 型の型推論が改善されています。既存コードで型エラーが発生する可能性があります。 推奨アクション: TypeScript のビルドを実行して、型エラーがないか確認してください。 3. パフォーマンス改善の恩恵PR #8344 と #8571 により、CLI のシステムコール削減と 🔍 テスト推奨事項# 1. 依存関係のインストール
pnpm install
# 2. Biome による lint とフォーマットチェック
pnpm biome check .
# 3. ビルドの確認(型エラーチェック含む)
pnpm build
# 4. 既存テストの実行
pnpm test
# 5. 必要に応じて自動修正
pnpm biome check --write .🛡️ セキュリティ特にセキュリティ上の問題は見当たりません。Biome 自体は開発時ツールであり、ランタイムの脆弱性リスクはありません。 📊 総合評価承認条件付き推奨: 以下を確認後にマージすることをお勧めします:
新規 nursery ルールによって警告が出た場合は、コードを修正するか、必要に応じて |
レビューフィードバック概要このPRは@biomejs/biomeを2.2.7から2.3.11にアップデートするRenovate自動更新です。 ✅ 良い点
📋 推奨事項1. テスト実行の確認以下を実行して互換性を確認することを推奨します: pnpm install
pnpm biome check --write2. 新機能の確認2.3系で追加された主要な機能:
このプロジェクトで使用している場合は、新ルールの影響を確認してください。 3. 設定ファイルの確認もしbiome.jsonでnurseryルールを有効にしている場合、新しいnurseryルールが追加されているため、意図しない警告が出る可能性があります。 4. CI/CDパイプラインの確認Biomeをリントやフォーマットのチェックに使用している場合、CIが正常に動作するか確認してください。 🔒 セキュリティパッケージマネージャーの依存関係更新のため、セキュリティ上の懸念はありません。 ⚡ パフォーマンスリリースノートによると以下のパフォーマンス改善が含まれています:
📝 総評問題のない健全なアップデートです。マージ前に上記の確認事項をチェックすることを推奨しますが、技術的な問題はありません。 推奨アクション: ✅ マージ可(テスト実行後) |
PR レビュー: @biomejs/biome 2.2.7 → 2.3.11 アップデート✅ 総合評価このPRは Renovate による依存関係の自動アップデートで、全体的に問題なくマージ可能と判断します。 📋 変更内容の概要
🔍 詳細レビュー1. コード品質とベストプラクティス ✅
2. 潜在的なバグや問題
|
プルリクエスト #243 のレビュー概要このPRは Renovate による コード品質とベストプラクティス✅ 良い点
|
プルリクエストレビュー概要Renovateによる コード品質とベストプラクティス✅ 良い点:
潜在的なバグや問題
パフォーマンスの考慮事項✅ 改善点:
セキュリティ上の懸念✅ セキュリティ向上:
テストカバレッジ
総合評価✅ 承認を推奨 このアップデートは主にバグ修正と機能追加であり、重大な破壊的変更は含まれていません。ただし、上記の注意点を確認した上でマージすることを推奨します。 CIが正常に完了し、特に問題が検出されなければ、安全にマージできます。 💡 追加情報: |
プルリクエストレビュー: @biomejs/biome 2.2.7 → 2.3.11概要RenovateによるBiome依存関係の更新です。リンター・フォーマッターの最新機能が利用可能になります。 コード品質とベストプラクティス✅ 良い点
|
@biomejs/biome アップデート (2.2.7 → 2.3.11) レビュー概要Renovateによる ✅ ポジティブな点1. 適切な依存関係管理
2. 機能追加と改善このアップデートには多数の機能追加と改善が含まれています:
3. セキュリティと品質
|
Biome 2.2.7 → 2.3.11 アップデート レビュー概要このPRは 変更内容
レビューコメント✅ ポジティブな点
|
📦 依存関係更新のレビュー: @biomejs/biome 2.2.7 → 2.3.11✅ 概要Renovate による @biomejs/biome のパッチバージョンアップデート (2.2.7 → 2.3.11) です。問題なく安全にマージできると判断します。 🔍 変更内容の分析更新されたファイル
影響範囲以下の3つのパッケージで使用されています:
📝 主な新機能と改善点新しいルール (Nursery)
バグ修正
パフォーマンス改善
|
コードレビューこのPRは ✅ 全体的な評価このPRは問題なく、マージして問題ありません。 📋 詳細レビュー1. コード品質とベストプラクティス
2. 潜在的なバグや問題
3. パフォーマンスの考慮事項
4. セキュリティ上の懸念
5. テストカバレッジ
🆕 注目すべき新機能このバージョンアップには以下の新しい機能が含まれています:
💡 推奨アクション
結論このPRは安全にマージできます。Renovateによる自動更新であり、変更内容も依存関係のバージョンアップのみです。新バージョンにはパフォーマンス改善とセキュリティ強化が含まれており、アップグレードすることを推奨します。 |
📝 プルリクエストレビュー: Biome 2.2.7 → 2.3.11 アップデート概要RenovateによるBiomeのマイナーバージョンアップデートです。2.2.7から2.3.11への更新により、多数の新機能、バグ修正、パフォーマンス改善が含まれています。 ✅ 良い点
🔍 確認が必要な点1. 新しいnurseryルールの影響このアップデートでは多数の新しいnurseryルールが追加されています。プロジェクトでnurseryルールを有効にしている場合、以下のルールが新たに適用される可能性があります:
推奨アクション: マージ前に 2. 既存ルールの動作変更以下のルールで動作が改善されています:
推奨アクション: これらのルールを使用している場合、新しい警告が表示される可能性があります。 3. HTMLフォーマッターの変更iframeの -<Component/>
+<Component />推奨アクション: HTMLやJSXファイルがある場合、フォーマット結果の差分を確認してください。 🧪 テスト推奨事項マージ前に以下を実行することを推奨します: # 1. Biomeチェックの実行
pnpm biome check .
# 2. フォーマットの確認(差分があるか)
pnpm biome format . --write
# 3. 既存のテストが通ることを確認
pnpm test
# 4. ビルドの成功を確認
pnpm build🔒 セキュリティ新しいセキュリティ関連ルールが追加されています:
これは既存コードに問題がある場合に検出するのに役立ちます。 📊 総合評価承認推奨度: ✅ 承認可能(条件付き) このアップデートは全体的に品質向上につながる良い変更です。ただし、以下の条件を満たした後にマージすることを推奨します:
新しいnurseryルールは段階的に有効化できるため、必要に応じて設定ファイルで個別に制御できます。 📚 参考リンク |
This PR contains the following updates:
2.2.7→2.5.0Release Notes
biomejs/biome (@biomejs/biome)
v2.5.0Compare Source
Minor Changes
#9539
f0615fdThanks @ematipico! - Added a new reporter calledconcise. When--reporter=conciseis passed the commandsformat,lint,checkandci, the diagnostics are printed in a compact manner:#9495
2056b23Thanks @aviraldua93! - Added theuseKeyWithClickEventsa11y lint rule for HTML files (.html,.vue,.svelte,.astro). This is a port of the existing JSX rule. The rule enforces that elements with anonclickhandler also have at least one keyboard event handler (onkeydown,onkeyup, oronkeypress) to ensure keyboard accessibility.Inherently keyboard-accessible elements (
<a>,<button>,<input>,<select>,<textarea>,<option>) are excluded, as are elements hidden from assistive technologies (aria-hidden) or withrole="presentation"/role="none".#9152
9ec8500Thanks @ematipico! - Added new nursery lint rulenoUndeclaredClassesfor HTML, JSX, and SFC files (Vue, Astro, Svelte). The rule detects CSS class names used inclass="..."(orclassName) attributes that are not defined in any<style>block or linked stylesheet reachable from the file.#9152
9ec8500Thanks @ematipico! - Added new nursery lint rulenoUnusedClassesfor CSS. The rule detects CSS class selectors that are never referenced in any HTML or JSX file that imports the stylesheet. This is a project-domain rule that requires the module graph.#9546
6567efaThanks @nhedger! - Added abiome upgradecommand for standalone installations. It upgrades Homebrew installs withbrew upgrade biome, updates manually installed binaries from the latest GitHub release, and tells npm users to upgrade with their package manager instead.#9716
701767aThanks @faizkhairi! - Added the HTML version of theuseHeadingContentrule. The rule now enforces that heading elements (h1-h6) have content accessible to screen readers in HTML, Vue, Svelte, and Astro files.#9582
f437ef8Thanks @rahuld109! - Added the HTML version of theuseKeyWithMouseEventsrule. The rule now enforces thatonmouseoveris accompanied byonfocusandonmouseoutis accompanied byonblurin HTML, Vue, Svelte, and Astro files.#9275
1fdbceeThanks @ff1451! - Added the new assist actionuseSortedTypeFields, which sorts the fields of GraphQL object types, interface types and input object types alphabetically, e.g.name, age, idbecomesage, id, name.#10561
78075b7Thanks @Conaclos! - Added a newstyleoption to useExportType,which enforces a style for exporting types.
This is the same option as the one provided by
useImportType.#8987
d16e32bThanks @DerTimonius! - Ported theuseValidAnchorrule to HTML. This rule enforces that all anchors are valid and that they are navigable elements.#9533
4d251d4Thanks @ematipico! - Theinitcommand now prints the Biome logo.#10069
0eb9310Thanks @Netail! - Added the HTML lint rulenoStaticElementInteractions, which enforces that static, visible elements (such as<div>) that have click handlers use the valid role attribute.Invalid:
#9134
2a43488Thanks @ematipico! - Added the assist actionuseSortedPackageJson.This action organizes package.json fields according to the same conventions as the popular sort-package-json tool.
#9309
7daa18bThanks @Bertie690! - TheallowDoubleNegationoption has been added tonoImplicitCoercionsto allow ignoring double negations inside code.With the option enabled, the following example is considered valid and is ignored by the rule:
#9700
894f3fbThanks @ematipico! - The Biome Language server now supports the "go-to definition" feature.When the cursor of the mouse is hovering an entity (variable, CSS class, type, etc.), and the command CTRL + click is triggered, the editor jumps to where this entity is defined, if the language server can find it.
Here's what Biome is able to resolve:
#10070
bae0710Thanks @Conaclos! - Added the:STYLE:group matcher fororganizeImportsthat matches style imports.For example, the following configuration...
{ "assist": { "actions": { "source": { "organizeImports": { "level": "on", "options": { "groups": ["**", "!:STYLE:"], "sortBareImports": true } } } } } }...places style imports last:
#9170
e3107deThanks @mdrobny! - AddedbundleDependenciesoption to NoUndeclaredDependencies rule.This rule now supports imports of packages that are defined only in
bundleDependenciesandbundledDependenciesarrays.#9547
01f8473Thanks @mujpao! - Added new assist ruleuseSortedAttributesfor HTML, porting the existing JSX rule. This rule enforces sorted HTML attributes.Invalid
#9366
2ca1117Thanks @dyc3! - Added thehtml.parser.vueconfiguration option. When enabled, it adds support for the parsing of Vue in.htmlfiles. Most Vue users don't need to enable this option since Vue files typically use the.vueextension, but it can be useful for projects that embed Vue syntax in regular HTML files.#9073
74b20eeThanks @chocky335! - Added support for applying GritQL plugin rewrites as code actions. GritQL plugins that use the rewrite operator (=>) now produce fixable diagnostics for JavaScript, CSS, and JSON files. By default, plugin rewrites are treated as unsafe fixes and require--write --unsafeto apply. Plugin authors can passfix_kind = "safe"toregister_diagnostic()to mark a fix as safe, allowing it to be applied with just--write.Example plugin (
useConsoleInfo.grit):Running
biome check --writeapplies safe rewrites. Unsafe rewrites (the default, orfix_kind = "unsafe") still require--write --unsafe.#9384
f4c9edcThanks @Conaclos! - Added thesortBareImportsoption toorganizeImports,which allows bare imports to be sorted within other imports when set to
false.{ "assist": { "actions": { "source": { "organizeImports": { "level": "on", "options": { "sortBareImports": true } } } } } }#8731
e7872bfThanks @siketyan! - Added the watch mode (--watch) to the CLI forcheck/format/lintcommands. By enabling this option, Biome will re-run the check automatically when any file in the workspace has changed after the first run.#10106
9b35f78Thanks @ematipico! - Biome can now format and lint.svgfiles.#9967
e9b6c17Thanks @dyc3! - Added HTML support fornoExcessiveLinesPerFile. Biome now reports HTML files that exceed the configured line limit, including whenskipBlankLinesis enabled.#9491
b3eb63cThanks @IxxyDev! - Added the HTML lint rulenoAriaUnsupportedElements. This rule enforces that elements that do not support ARIA roles, states, and properties (meta,html,script,style) do not haveroleoraria-*attributes.#9306
afd57a6Thanks @viraxslot! - Added thenoNoninteractiveTabindexlint rule for HTML. This rule enforces thattabindexis not used on non-interactive elements, as it can cause usability issues for keyboard users.#9276
6d041d9Thanks @IxxyDev! - Added the HTML lint rulenoRedundantRoles. This rule enforces that explicitroleattributes are not the same as the implicit/default role of an HTML element. It supports HTML, Vue, Svelte, and Astro files.#9813
69aadc2Thanks @ematipico! - Added a new linter configuration calledpreset. With the new option, users can enable different kinds of rules at once.The following presets are available:
"recommended": it enables all Biome-recommended rules, or recommended rules of a group;"all": it enables all Biome rules, or enables all rules of a group;"none": it disables all Biome rules, or disable all rules of a group.You can enable recommended rules:
{ "linter": { "rules": { "preset": "recommended" } } }You can enable all rules at once:
Or enable all rules for a group:
This new option, however, doesn't affect how nursery rules work. Nursery rules must be enabled singularly, due to their nature.
This new option is meant to replace
recommended, so make sure to run themigratecommand.#10022
3422d71Thanks @Netail! - Added the HTML lint rulenoNoninteractiveElementToInteractiveRole, which enforces that interactive ARIA roles are not assigned to non-interactive HTML elements.Invalid:
#8396
13785fcThanks @apple-yagi! - Biome now supports pnpm catalogs (default and named) when resolving dependencies for linting. This behavior is opt-in and requires settingjavascript.resolver.experimentalPnpmCatalogstotrue.#10028
1009414Thanks @Netail! - Added the HTML lint rulenoInteractiveElementToNoninteractiveRole, which enforces that non-interactive ARIA roles are not assigned to interactive HTML elements.Invalid:
#9853
816302fThanks @Netail! - Added the new assist actionuseSortedSelectionSet, which sorts GraphQL selection sets alphabetically, e.g.name, age, idbecomesage, id, name.Invalid:
#10074
9c7c6ebThanks @georgephillips! - Added akindfield to theImportMatcherused by theorganizeImportsassist action. The new field selects imports by their syntactic kind and currently supportsbare(matching side-effect imports such asimport "polyfill") with optional!negation (!bare). The matcher composes with the existingtypeandsourcefields, so users can express patterns such as "only bare imports that import a CSS file" ({ "kind": "bare", "source": "**/*.css" }).For example, with the following configuration:
{ "assist": { "actions": { "source": { "organizeImports": { "level": "on", "options": { "sortBareImports": true, "groups": [ { "kind": "!bare" }, ":BLANK_LINE:", { "kind": "bare" } ] } } } } } }...the following code:
...is organized as:
#9171
ce65710Thanks @chocky335! - Addedincludesoption for plugin file scoping. Plugins can now be configured with glob patterns to restrict which files they run on. Use negated globs for exclusions.{ "plugins": [ "global-plugin.grit", { "path": "scoped-plugin.grit", "includes": ["src/**/*.ts", "!**/*.test.ts"] } ] }#9617
dcb99efThanks @faizkhairi! - PorteduseAriaActivedescendantWithTabindexa11y rule to HTML.#9496
1dfb829Thanks @aviraldua93! - Added HTML support for thenoAriaHiddenOnFocusableaccessibility lint rule, which enforces thataria-hidden="true"is not set on focusable elements. Focusable elements include native interactive elements (<button>,<input>,<select>,<textarea>), elements withhref(<a>,<area>), elements withtabindex >= 0, and editing hosts (contenteditable). Includes an unsafe fix to remove thearia-hiddenattribute.#9792
f516854Thanks @Maximiliano-Zeballos! - Added theuseSemanticElementslint rule for HTML. The rule now detects the use ofroleattributes in HTML elements and suggests using semantic elements instead.For example, the following code is now flagged:
The rule suggests using
<nav>instead.#9761
cbbb7d5Thanks @Maximiliano-Zeballos! - Ported theuseValidAriaPropslint rule to HTML. This rule checks that allaria-*attributes used in HTML elements are valid ARIA attributes as defined by the WAI-ARIA specification.#9928
aa82576Thanks @aviraldua93! - PorteduseValidAriaValuesto HTML. Biome now validates staticaria-*attribute values in HTML elements against WAI-ARIA types, catching invalid values such asaria-hidden="yes".#10562
6642895Thanks @ematipico! - Promoted 73 nursery rules to stable groups.Four rules were renamed as part of the promotion:
noFloatingClassesis nownoUnusedInstantiation, because the rule checks any discardednewexpression, not only classes.noMultiStris nownoMultilineString.useFindis nowuseArrayFind.useSpreadis nowuseSpreadOverApply, because the rule enforces spread call arguments overFunction.apply(), not array or object spread.Correctness
Promoted the following rules to the
correctnessgroup:noBeforeInteractiveScriptOutsideDocumentnoUnusedInstantiationuseInlineScriptId(recommended, Next.js domain)noVueVIfWithVFor(recommended, Vue domain)useVueValidVBind(recommended, Vue domain)useVueValidVElse(recommended, Vue domain)useVueValidVElseIf(recommended, Vue domain)useVueValidVHtml(recommended, Vue domain)useVueValidVIf(recommended, Vue domain)useVueValidVOn(recommended, Vue domain)useVueValidVText(recommended, Vue domain)useVueValidTemplateRoot(recommended, Vue domain)useVueValidVCloak(recommended, Vue domain)useVueValidVOnce(recommended, Vue domain)useVueValidVPre(recommended, Vue domain)useVueVForKey(recommended, Vue domain)noDuplicateAttributes(recommended)noDuplicateArgumentNames(recommended)noDuplicateInputFieldNames(recommended)noDuplicateVariableNames(recommended)noDuplicateEnumValueNames(recommended)useLoneAnonymousOperation(recommended)Suspicious
Promoted the following rules to the
suspiciousgroup:noShadownoUnnecessaryConditionsnoParametersOnlyUsedInRecursionnoUnknownAttributeuseArraySortComparenoForInnoDuplicatedSpreadPropsnoEqualsToNullnoProto(recommended)noUndeclaredEnvVars(recommended, Turborepo domain)noReturnAssign(default severity:error)noDuplicateEnumValues(recommended)noVueArrowFuncInWatch(recommended, Vue domain)noNestedPromisesnoLeakedRendernoDeprecatedMediaType(recommended)noDuplicateGraphqlOperationNameuseRequiredScriptsStyle
Promoted the following rules to the
stylegroup:useVueMultiWordComponentNames(recommended, Vue domain)useVueDefineMacrosOrdernoIncrementDecrementnoContinueuseSpreadOverApplynoTernarynoMultilineStringnoMultiAssignnoExcessiveClassesPerFilenoExcessiveLinesPerFilenoVueOptionsApiuseErrorCauseuseConsistentEnumValueTypeuseConsistentMethodSignaturesuseGlobalThis(default severity:warn)useDestructuringuseVueHyphenatedAttributes(recommended, Vue domain)useVueConsistentVBindStyle(recommended, Vue domain)useVueConsistentVOnStyle(recommended, Vue domain)noHexColorsuseConsistentGraphqlDescriptionsnoRootTypeuseLoneExecutableDefinitionuseInputNameComplexity
Promoted the following rules to the
complexitygroup:useArrayFindnoRedundantDefaultExport(default severity:warn)noUselessReturnnoDivRegexPerformance
Promoted the following rules to the
performancegroup:noSyncScriptsnoJsxPropsBinduseVueVaporSecurity
Promoted the following rules to the
securitygroup:noScriptUrl(recommended)A11y
Promoted the following rules to the
a11ygroup:noAmbiguousAnchorText(recommended)#10121
450f8e1Thanks @jongwan56! - Biome now applies Git's local exclude file when VCS ignore files are enabled. Files listed in.git/info/excludeare skipped the same way as files listed in.gitignore, including in linked worktrees.#9397
d5913c9Thanks @mvarendorff! - Addedignoreoption to the noUnusedVariables rule. The option allows excluding identifiers by providing a list of ignored names. It also allows excluding kinds of identifiers from this rule entirely, which may be useful when loading classes dynamically.For example, unused classes as well as all unused variables, functions, etc. called "unused" may be ignored entirely with the following configuration:
{ "ignore": { "*": ["unused"], "class": ["*"] } }#10089
71a21f0Thanks @Netail! - Added the lint rulenoLabelWithoutControlto HTML, which enforces that a label element or component has a text label and an associated input.#10015
1828261Thanks @Netail! - Added the HTML lint ruleuseAriaPropsSupportedByRole, which enforces that ARIA properties are valid for the roles that are supported by the element.#10234
1a51569Thanks @ematipico! - Added thedelimiterSpacingformatter option. This option inserts spaces inside delimiters (after the opening delimiter and before the closing delimiter) when the content fits on a single line. Empty delimiters are not affected, and no space is added before the opening delimiter. The specific delimiters affected depend on the language. It can be configured globally viaformatter.delimiterSpacingor per-language viajavascript.formatter.delimiterSpacing,json.formatter.delimiterSpacing, andcss.formatter.delimiterSpacing. Defaults tofalse.JavaScript
When enabled, Biome inserts spaces inside parentheses (e.g.,
foo( a, b )), square brackets (e.g.,[ a, b ]), template literal interpolations (e.g.,${ expr }), and the logical NOT operator (e.g.,! x, but in chains only after the last one:!! x). Only applies when the content fits on a single line. Empty delimiters and the space before the opening delimiter are not affected.JSX
When enabled, Biome inserts spaces inside JSX expression braces (e.g.,
attr={ value }) and spread attributes (e.g.,{ ...props }). Only applies when the content fits on a single line. Empty delimiters are not affected.TypeScript
When enabled, Biome inserts spaces inside TypeScript angle brackets (e.g.,
foo< T >()), indexed access types (e.g.,T[ K ]), mapped types, tuple types, type parameters, and index signatures. Only applies when the content fits on a single line. Empty delimiters are not affected.JSON
When enabled, Biome inserts spaces inside square brackets when the content fits on a single line. Empty brackets are not affected.
CSS
When enabled, Biome inserts spaces inside parentheses and square brackets when the content fits on a single line. Empty delimiters are not affected.
#10461
6bac1c3Thanks @TXWSLYF! - Implements #9445. Added theallowImplicitoption touseIterableCallbackReturn. When enabled, callbacks can usereturn;to implicitly returnundefined, matching ESLint'sarray-callback-returnrule.#9571
5a8eb75Thanks @dyc3! - Added configurable options to theuseNumericSeparatorsrule. Users can now customize the minimum number of digits required before adding separators and the group length for each type of numeric literal (binary,octal,decimal,hexadecimal).{ "linter": { "rules": { "style": { "useNumericSeparators": { "level": "error", "options": { "decimal": { "minimumDigits": 7, "groupLength": 3 }, "hexadecimal": { "minimumDigits": 4, "groupLength": 2 } } } } } } }#10067
6064312Thanks @Netail! - Added the lint ruleuseFocusableInteractiveto HTML, which enforces elements with an interactive role and interaction handler to be focusable.Invalid:
#10026
fb42ac4Thanks @Netail! - Added the HTML lint rulenoNoninteractiveElementInteractions, which disallows use event handlers on non-interactive elements.Invalid:
#10000
2093e3eThanks @Netail! - Added the new assist actionuseSortedEnumMembers, which sorts TypeScript & GraphQL enum members.Invalid:
#10013
ad01d3dThanks @Netail! - Added the HTML lint ruleuseValidAutocomplete, which enforces using valid values for theautocompleteattribute oninputelements.Patch Changes
#10498
995c1ffThanks @citadelgrad! - Added the nursery ruleuseReactFunctionComponentDefinition, which enforces a consistent function type for named React function components.For example, the following snippet triggers the rule by default.
#9974
ff635a9Thanks @pkallos! - AddedignoreMixedLogicalExpressionsto useNullishCoalescing, partially addressing #9232. When enabled, Biome ignores||and||=mixed with&&in the same expression tree.#10503
c656679Thanks @Mokto! - Added the new nursery ruleuseSvelteRequireEachKey, a Svelte lint rule that reports{#each}blocks with item bindings that are missing a key.#10516
0f29b83Thanks @Dotify71! - AddeduseIncludesto the nursery group. This rule flags comparisons ofString.prototype.indexOf()orArray.prototype.indexOf()against-1and suggests replacing them with the clearerincludes()/!includes()form.#10487
0c03ee3Thanks @Mokto! - Fixed a Svelte parser error that incorrectly required a binding variable after{:then}and{:catch}. Biome now correctly accepts{:then}and{:catch}without a binding, as well as the{#await expr then}and{#await expr catch}shorthand forms.#10566
a4a294cThanks @dyc3! - FixeduseVueHyphenatedAttributes: The rule now only reports diagnostics in Vue files and ignores SVG elements.#10565
72ccf3bThanks @dyc3! - FixeduseVueConsistentVBindStyle: The rule no longer reports argument-lessv-binddirectives because they cannot be converted to shorthand syntax.#10591
6e8557bThanks @xsourabhsharma! - Fixed #10563: Biome now parses comma-separated CSS Modulescomposesvalues, such ascomposes: classA from "./a.css", classB from "./b.css";.#10603
174b21bThanks @denbezrukov! - Fixed CSS formatting forgrid-template-areasdeclarations with comments before multiline values. Biome now keeps grid area rows aligned instead of adding an extra declaration-boundary indent..grid { grid-template-areas: /* row */ - "header header" - "footer footer"; + "header header" + "footer footer"; }#10542
c3f07f7Thanks @dyc3! - Fixed #10513: Biome no longer rejects literal\usequences in quoted HTML attribute values.#10108
24e51d6Thanks @IxxyDev! - Fixed #6611:noUnnecessaryConditionsnow uses type information to detect more redundant conditions, including?.,??,||,&&, comparisons againstnull/undefinedon non-nullish operands, andcaseclauses that can never match theswitchvalue.#10568
eb1ed0eThanks @harsha-cpp! - Fixed #10564:useAriaPropsForRoleno longer reports false positives for Vue v-bind shorthand bindings (:aria-checked,:aria-level, etc.).#10570
2ceb4feThanks @Conaclos! - ImprovednoTsIgnore.The rule now reports more precisely the range of the
@ts-ignorecomment.#10520
b55d10fThanks @dyc3! - Fixed #10519: Vuev-onevent handlers with multiple inline statements are now parsed consistently with Vue.#10204
ebbf0bdThanks @ematipico! - Improved the performance of the Biome linter. The improvements are more visible in bigger projects that have more than ~1k files. Early tests showed that in a code base with ~2k files, Biome took less than 26% of time to finish the command.#10546
e39bb2cThanks @tim-we! - Fixed#10536: noUnknownFunction no longer flagged CSScontrast-color()as unknown.contrast-color()is Baseline 2026.#8012
2be0264Thanks @denbezrukov! - Improved the performance of the formatter in some cases. The formatter is now up to ~20% faster at formatting files.#10467
9a5855eThanks @Netail! - Added a new nursery rulenoRestrictedDependencies, which flags imports andpackage.jsondependency entries that have better alternatives in e18e's module replacement data.For example, the package
globbyis reported because there's a better alternative:{ "dependencies": { "globby": "x.x.x" } }#10470
84b43c5Thanks @ShaharAviram1! - Fixed #10447: now the rulenoProcessEnvdetects the use ofenvwhen it's imported fromprocessandnode:process.#10556
7ff6b16Thanks @ematipico! - Fixed #10492: Biome no longer crashes with a stack overflow on certain code when a type-aware rule such asnoFloatingPromises,noMisusedPromises, ornoUnnecessaryConditionsis enabled. For example, the following code used to crash Biome:#10532
1da3c75Thanks @denbezrukov! - CSS declarations with comments before:or after!importantnow preserve spaces before:and;..selector { - padding/* name */: 1px; - color: red !important /* note */; + padding/* name */ : 1px; + color: red !important /* note */ ; }#10491
a1b5834Thanks @Mokto! - Fixed the Svelte parser rejecting{#each}blocks where the binding uses object destructuring with property renaming, e.g.{#each items as { id, component: Filter }}. Biome now correctly parses and formats these rename bindings.#10490
99bc7dfThanks @Mokto! - Fixed the CSS parser rejecting comma-separated selector lists inside:global()and:local()pseudo-class functions. Biome now correctly parses:global(.foo, .bar).#10543
c394faeThanks @mangod12! - Fixed #10477: The RDJSON reporter now emits code replacement text for fix suggestions instead of the human-readable fix description.#10530
e8e1e6aThanks @Conaclos! - Fixed #10493:useImportTypenow correctly separates types from a default named import when all imports are types and thestyleoption is set toseparatedType.#10555
263c7ccThanks @Mokto! - Improved Svelte lint rule accuracy for quoted attribute values containing{expression}interpolations.noRedundantAltno longer emits false positives when the alt text contains an interpolation, e.g.alt="image of {person}".useButtonTypeno longer emits false positives for dynamic button types written astype="{dynamicType}".noScriptUrlno longer emits false positives for dynamic hrefs such asConfiguration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.