Skip to content
Latchkey

Caret Range とは何か?

caret range は、先頭の caret で書かれ、バージョン番号の最も左の非ゼロ部分を変えない任意のバージョンを許容します。1.x のパッケージでは、minor と patch の更新は許されるが major の引き上げは許されないことを意味します。これは、minor と patch のリリースは後方互換であるという semantic versioning の約束をコード化したものです。

なぜ重要か

caret range は一般的なデフォルトです。互換性のある機能や修正を取り込みつつ、互換性を壊す major リリースを除外できるためです。この挙動は 1.0 より前のパッケージでは変わり、0.x の minor バージョンが互換性を壊しうるため、caret ははるかに厳格になります。caret を lockfile と組み合わせれば、range があっても install は再現可能に保たれます。

関連ガイド