caret range - CI/CD 用語集の定義
npm における caret range(^)は、最も左にあるゼロでないバージョン要素を変えない更新を許可するため、^1.2.3 は >=1.2.3 <2.0.0 を許可します。
ゼロバージョンのひねり
0.x バージョンでは、0.y が破壊的である可能性があるものとして扱われるため、ルールが厳しくなります。^0.2.3 は >=0.2.3 <0.3.0 に解決され、^0.0.3 は >=0.0.3 <0.0.4 に解決されます。
npm のデフォルトである理由
パッケージを npm install すると、npm は caret range を書き込みます。これは、SemVer を尊重する作者が minor と patch の release を互換に保つことに賭けているのです。
関連ガイド
Tilde Range - CI/CD Glossary DefinitionTilde Range: A tilde range (`~`) in npm allows patch-level updates when a minor version is specified, so `~1.…
Version Range - CI/CD Glossary DefinitionVersion Range: A version range is a constraint that allows a span of versions rather than one exact value, su…
Semantic Versioning (SemVer) - CI/CD Glossary DefinitionSemantic Versioning (SemVer): Semantic versioning is a version-numbering scheme of `MAJOR.MINOR.PATCH` where…