Skip to content
← Back to rules

unicorn/prefer-modern-dom-apis スタイル

An auto-fix is available for this rule.

何をするか

以下の使い方を強制します:

  • childNode.replaceWith(newNode) に対して parentNode.replaceChild(newNode, oldNode) ではなく使用
  • referenceNode.before(newNode) に対して parentNode.insertBefore(newNode, referenceNode) ではなく使用
  • referenceNode.before('text') に対して referenceNode.insertAdjacentText('beforebegin', 'text') ではなく使用
  • referenceNode.before(newNode) に対して referenceNode.insertAdjacentElement('beforebegin', newNode) ではなく使用

なぜ問題なのか

新しい DOM API を使うことで以下の利点があります:

  • 親ノードにアクセスする必要がない。
  • 複数のノードを一度に追加できる。
  • DOMString と DOM ノードオブジェクトの両方を扱える。

このルールに違反する不適切なコードの例

javascript
oldChildNode.replaceWith(newChildNode);

このルールに準拠する適切なコードの例

javascript
parentNode.replaceChild(newChildNode, oldChildNode);

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "unicorn/prefer-modern-dom-apis": "error"
  }
}
bash
oxlint --deny unicorn/prefer-modern-dom-apis

参照