OR (||) ユニオン範囲 — 複数範囲の組み合わせ

||演算子で複数のsemver範囲を組み合わせます。バージョンはいずれかの選択肢にマッチすれば範囲を満たします。

Union Ranges

詳細な説明

|| によるOR(ユニオン)範囲

||演算子を使用して、複数の範囲を1つの式に組み合わせることができます。バージョンは個々の範囲のいずれかにマッチすれば、組み合わせた範囲を満たします。

構文

range1 || range2 || range3

OR範囲 意味
^1.0.0 || ^2.0.0 任意の1.xまたは任意の2.x
>=1.0.0 <1.5.0 || >=2.0.0 1.0-1.4または2.0以上

実際のユースケース

1. 複数メジャーバージョンのサポート

{
  "peerDependencies": {
    "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
  }
}

「React 16.8以上、17.x、または18.xで動作」を意味します。

2. 壊れたバージョン範囲のスキップ

バージョン1.3.0から1.3.5に重大なバグがある場合:

>=1.2.0 <1.3.0 || >=1.3.6 <2.0.0

順序は関係ない

^1.0.0 || ^2.0.0^2.0.0 || ^1.0.0は同等です。OR演算子は可換的で、バージョンはマッチするまで各選択肢に対してテストされます。

ユースケース

複数のメジャーバージョンにまたがるピア依存関係を指定するライブラリの作者、または依存関係仕様から既知の壊れたバージョン範囲を除外する場合。

試してみる — Semver Calculator

フルツールを開く