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演算子は可換的で、バージョンはマッチするまで各選択肢に対してテストされます。
ユースケース
複数のメジャーバージョンにまたがるピア依存関係を指定するライブラリの作者、または依存関係仕様から既知の壊れたバージョン範囲を除外する場合。