コンテンツにスキップ

semver

Since v8.0.75

semverモジュールは、JSHアプリケーションにセマンティックバージョンの比較機能を提供します。

一般的な使用方法は以下のとおりです。

const semver = require('semver');

エクスポートされる関数

  • satisfies(version, constraint)
  • maxSatisfying(versions, constraint)
  • compare(left, right)

satisfies()

バージョンがセマンティックバージョンの制約を満たすかどうかを確認します。

構文
semver.satisfies(version, constraint)
パラメーター
  • version String
  • constraint String
戻り値

versionconstraintを満たす場合はtrue、それ以外はfalseを返します。

空の制約とlatestは、*として扱います。

maxSatisfying()

制約を満たすバージョンのうち、最も高いバージョンを返します。

構文
semver.maxSatisfying(versions, constraint)
パラメーター
  • versions String[]
  • constraint String
戻り値

最も適合する元のバージョン文字列を返します。 一致するバージョンがない場合は、空文字列を返します。

形式が不正な候補バージョンはスキップします。

compare()

2つのセマンティックバージョンを比較します。

構文
semver.compare(left, right)
パラメーター
  • left String
  • right String
戻り値
  • -1: left < right
  • 0: left === right
  • 1: left > right

使用例

1
2
3
4
5
6
7
8
9
const semver = require('semver');

console.println(semver.satisfies('1.4.2', '1.2 - 1.4'));
console.println(semver.satisfies('2.0.0', '1.2 - 1.4'));
console.println(semver.maxSatisfying(['1.2.0', '1.4.2', '2.0.0'], '1.2 - 1.4'));
console.println(semver.maxSatisfying(['1.0.0', '1.1.4', '1.2.0'], '~1.1'));
console.println(semver.compare('1.1.0', '1.2.0'));
console.println(semver.compare('1.2.0', '1.1.0'));
console.println(semver.compare('1.2.0', '1.2.0'));

動作に関する注意

  • versionleftrightconstraintが不正な場合は、エラーが発生します。
  • バージョンと制約は、解析前に前後の空白を除去します。
  • 制約の解析は、1.2 - 1.4~1.1などの範囲表現に対応する内部のセマンティックバージョン規則に従います。
最終更新日