no-unsupported-browser-features
プロジェクトのターゲットブラウザ(browserslist 経由)でサポートされていない HTML要素や属性を使用している場合に警告します。
このルールはブラウザサポートの確認に @mdn/browser-compat-data を使用しています。
備考
旧 no-unsupported-features ルール(#3989)から分割されました。旧ルールは実験的・非標準の機能検出も兼ねていました。実験的な要素・属性にはno-experimental-featuresルールを、非標準な要素・属性にはno-nonstandard-featuresルールを使用してください。
注意: プロジェクトに browserslist 設定がない場合、このルールは何も行いません(no-op)。
デフォルトの深刻度
warning
動作の仕組み
プロジェクトの browserslist 設定を読み取り、各HTML要素・属性がすべてのターゲットブラウザでサポートされているか確認します。かつてサポートされていたがその後ブラウザから削除された機能も報告されます(例: "removed in 50")。
オプション
| オプション | 型 | デフォルト | 説明 |
|---|---|---|---|
browserslist | string | string[] | - | browserslist クエリの上書き |
browserslistConfig | string | - | browserslist 設定ファイルへの明示パス |
browserslistEnv | string | - | browserslist 環境名(例: "production") |
ignoreFeatures | string[] | [] | 無視する機能 |
ignoreFeatures の形式
完全一致で判定します(グロブやワイルドカードパターンは使用できません)。
"dialog"—<dialog>要素を無視します(要素名の完全一致)"input[list]"—<input>要素のlist属性を無視します
使用例
設定:
{
"rules": {
"no-unsupported-browser-features": {
"options": {
"browserslist": "ie 11"
}
}
}
}
❌ 間違ったコード例
<dialog>ダイアログです</dialog>
✅ 正しいコード例
<div>コンテンツです</div>
Interface
{
"no-unsupported-browser-features": boolean
}
Options
{
"no-unsupported-browser-features": {
"options": {
"browserslist"?: string | string[]
"browserslistConfig"?: string
"browserslistEnv"?: string
"ignoreFeatures"?: string[]
}
}
}
| Property | Type | Default Value | Description |
|---|---|---|---|
browserslist | string | | undefined | undefined |
browserslistConfig | string | undefined | Explicit path to a browserslist configuration file. |
browserslistEnv | string | undefined | Browserslist environment name (e.g., "production"). |
ignoreFeatures | string[] | undefined | Features to ignore. Element name ("dialog") or attribute pattern ("input[list]"). |
Default Severity
warning