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 は再現可能に保たれます。
関連ガイド
What Is a Tilde Range?A tilde range allows patch-level updates within a fixed minor version, accepting bug fixes while holding the…
What Is a Version Range?A version range is a constraint that allows a set of acceptable dependency versions rather than a single exac…
What Is a Pre-release Version?A pre-release version is a semver identifier marking an unstable release, such as an alpha or beta, that ordi…