開発者ツール

Browserslistクエリ

条件から対象バージョンを確認し、比較を有効にして変更前後の差分を調べます。

Browserslistクエリ

クエリA

対象バージョン

Aにクエリを入力してください。

クエリはブラウザ内で処理され、送信も保存もされません。

オプションとデータ

クエリのテキストのみ。カンマや改行で区切り、#以降はコメントです。

各入力は10000文字・100条件まで。処理上限は5秒です。

同梱の世界統計による参考値です。現在の流量や自サイトの利用者分布ではなく、再読み込みでも更新されません。

Browserslist 4.28.9 · caniuse-lite 1.0.30001810 · Baseline 2.11.21

対象を解析中…

サポートブラウザを変更するときは、設定名だけでなく実際に選ばれるバージョンを確認したいものです。Browserslistクエリを入力すると、カンマをandに変えたことで対象がどう変わったかを追えます。

この画面は公式エンジンの識別子とバージョン範囲を保持します。手元のビルドと別の環境で結果が違う場合、まず照合すべきなのはクエリと依存パッケージのバージョンです。カバー率の数字だけを比べても原因までは分かりません。

Browserslistクエリを変更前に確かめる

条件を足す順序が見える

Browserslistクエリの説明には、各条件を適用した後の対象数が表示されます。カンマとorは追加、andはそれまでの集合全体との共通部分、notは除外です。defaultsの展開も見られるため、短い指定に含まれる条件を確認できます。

フィルターを通してブラウザのカードを追加し、除外対象のカードを取り除く流れ。

総数だけでは隠れる差分を調べる

変更前をA、変更後をBに置くと、追加・削除・共通のバージョンを分けて確認できます。比較単位はブラウザ識別子とバージョンの組み合わせです。Safariの範囲を勝手に細分化せず、公式データの粒度のまま比較します。

二組のブラウザカードが中央の共通部分と両側の固有部分に分かれている。

読み違えやすい三つの点を確認

01

対象環境のクエリだけを取り出す

カンマまたは改行で区切ったテキストを入力します。#以降はコメントです。行末がandやorなら次の空でない行に続きます。package.json全体や環境セクションは受け付けないため、使う環境の条件を先に取り出してください。

02

比較の向きを固定する

Aの初期値はdefaultsです。比較を有効にすると、last 2 versionsを入れたBが現れます。追加はBにだけある対象、削除はAにだけある対象、共通は両方にある対象です。件数とカバー率の差は別の指標です。

03

更新が終わってから保存する

自動解析は入力が止まってから350ミリ秒後に実行します。オフなら解析ボタンまたはCtrl/Cmd + Enterを使えます。編集するとコピーとダウンロードが無効になり、画面が50件表示でも保存するJSONには全件が入ります。

構文・対象・データの根拠をまとめて確認

公式の選択処理

クエリ構文、別名、バージョン範囲、最新の数世代、ESR、世界全体の利用率条件、cover、同梱のBaseline対応表を公式エンジンで評価します。一般的な論理式のようにandをorより先にまとめて評価するわけではありません。

入力行に対応する説明

AとBそれぞれの説明を開くと、元の条件、入力行、集合演算、適用後の件数が分かります。defaultsには展開された条件を表示します。選択の流れを説明する機能であり、個々のウェブ機能の動作検証ではありません。

バージョン付きの記録

JSONには原文、正規化した条件、対象全件、各段階の件数、差分、カバー率、依存パッケージ三種のバージョンを収録します。生成時刻は実行した時刻であり、統計データが公開された日時ではありません。

失敗を隠さず、入力を戻せる

未知のバージョンや利用できない条件はエラーになります。サンプルの読み込みと消去では置換内容と文字数を先に確認し、適用後に一度戻せます。元の入力だけでなく、以前の結果も一緒に復元します。

対象一覧から判断できる範囲

カバー率は同梱データの参考値
caniuse-liteの世界全体の統計を使います。現在のトラフィックや自分のサイトの訪問者分布ではなく、画面の再読み込みでも更新されません。結果の違いはパッケージのバージョンも照合してください。相対的な日付指定には端末の日付も関係します。
プロジェクト設定は読み込まない
extends、browserslist config、JSON、環境セクション、国別条件、独自統計には対応しません。必要な環境のクエリだけを貼り付けます。ローカルの設定ファイルや共有パッケージを探したり、アクセス解析サービスへ接続したりしません。
対象はブラウザのみ
Node.js、Electron、current nodeは拒否します。このブラウザ版ではsupportsによる個別機能の照会もできません。Baseline対応表は利用できますが、対象一覧だけでCSS、JavaScript、polyfillや実機での動作を保証することはできません。
データに存在する粒度を保持
未知のバージョンはエラーとし、モバイルをデスクトップの履歴で代用しません。ios_saf 15.6-15.8のような範囲は一つの記録です。パッチ番号が個別に存在するとは限らず、allという特殊なバージョンを使えるのはOpera Miniです。
入力上限と空集合
各入力は10000文字、100条件までです。処理が五秒を超えるとワーカーを停止します。表示は50件ずつでも全件を保存できます。正しい条件の空集合は有効な結果です。Aを空にすると結果を消去し、比較中のBが空なら入力を求めます。

Browserslistクエリの疑問

設定から選ばれるブラウザを確認するには?

必要な環境のクエリをAに貼り付け、対象一覧を確認します。実際の設定ファイル探索や環境選択まで確かめるなら、プロジェクトでnpx browserslistを実行してください。この画面では明示したBrowserslistクエリとデータのバージョンを記録できます。

設定が見つからない場合はどうなりますか?

上流のCLIは設定がなければdefaultsに戻ります。この画面では最初からdefaultsを入力しており、> 0.5%、last 2 versions、Firefox ESR、not deadに展開します。入力を消した場合は空の画面となり、勝手に既定値を再適用しません。

ブラウザのデータは定期的に更新すべきですか?

プロジェクトでは現在のupdate-browserslist-dbの手順で更新し、ロックファイルと対象の差分を確認します。このページのデータが変わるのは新しいビルドが提供されたときです。バージョンを含む報告を残せば、後日の差も追いやすくなります。

not and_uc allがエラーになるのはなぜですか?

allはOpera Mini用の特殊値で、すべてのブラウザの全バージョンを表す記法ではありません。UC Androidを除外するならdefaults, not and_uc > 0などの有効な条件を使います。notの前には除外元となる正の条件が必要です。

last 2 versionsに古いブラウザが入ることがあるのはなぜ?

データにある各ブラウザ系列の最近のバージョンを選ぶためです。世界で最後に公開された二つだけを意味しません。更新停止した系列や疎なモバイル履歴にも注意し、not deadを含む条件と比較してください。古い報告の具体例が現在も再現するとは限りません。

iOSのパッチ番号を指定しても期待する対象が出ないのはなぜ?

Can I Useでは複数のiOSリリースを範囲でまとめる場合があります。ios >= 15.7.2と書いても存在しないパッチ記録は追加されません。戻り値のios_safの範囲とデータにあるバージョンを確認し、必要な端末では別途動作を検証してください。

予想と違う結果ですか?

次の設定変更を比較する

現在のBrowserslistクエリをAに残して変更案をBへ。追加と削除を確認してから結果を保存しましょう。