公式ツール npm semver calculator が便利で楽しかった

2021.07.14

こんにちは、CX事業本部 IoT事業部の若槻です。

Nodeパッケージ管理システムであるnpmが公式提供するツールnpm semver calculatorが便利で楽しかったのでご紹介します。

どんなツール?

機能はすごくシンプルなので、説明するよりも実際にアクセスして触ってもらった方が理解が早いかと思います。

要するに下記のことができるWebツールです。

  • npmパッケージ名を指定すると、使用可能なバージョン一覧が示される。
  • セマンティックバージョニングを指定すると、該当するバージョンが示される。

何が嬉しいか

Nodeパッケージのバージョン指定にはSemantic Versioningが使用され、柔軟なバージョニング表現が可能ですが、それゆえに^2.2.1~2.2.0>2.1などのグラマーや不等号が使われたりすると、どこからどこまでのバージョン範囲を指しているのか直感的にわかり辛くなります。ググったところで「^は最初のゼロでないバージョンが不変であることを表す」と説明されてもパッと分からなくないですか。

そんな時にnpm semver calculatorを使えば、簡単かつ視覚的にわかりやすくバージョン範囲を確認することができます。あとなんか触ってて楽しいです。

バージョン指定例

  • 4.17.9

完全一致

  • >2.1

不等号(>,<,>=,<=)による範囲指定

  • =2.2

等号(=)による範囲指定

  • 1.0.0 - 1.2.0

ハイフン(-)による範囲指定

  • ^2.2.1

キャレット(最初のゼロ以外の部分をインクリメントしないすべてのものを含める)

  • ^0.1.0

キャレット(最初のゼロ以外のバージョンより大きくないものをすべて含める)

  • ~2.2.0

チルダ(同じマイナー範囲内で指定のバージョンよりも大きいものをすべて含める)

  • 1.0.0-rc.1

プレリリースバージョンの完全一致

  • >1.0.0-alpha

プレリリースバージョンの範囲指定

  • >=1.0.0-rc.0 <1.0.1

プレリリースバージョンとリリースバージョンによる範囲指定

  • ^2 <2.2 || > 2.3

OR(||)条件

  • <1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <1.0.0-alpha

複雑な複合条件

  • latest

最新のリリースバージョン

  • *

すべてのリリースバージョン

参考

以上