Version Range とは何か?
version range とは、複数のバージョンに一致する依存関係の制約で、どのリリースが受け入れ可能かを区切る演算子や省略記法で表現されます。resolver はその後、ツリー全体のすべての range を満たす最も高いバージョンを選びます。range は、修正を自動的に受け取ることと、予期しない更新のリスクとのバランスを取ります。
なぜ重要か
range によりプロジェクトは手動編集なしに互換性のあるバグ修正を取り込めますが、それは同時に、異なる時点での 2 つの install が異なるバージョンに解決されうることも意味します。だからこそ lockfile が厳密に解決されたバージョンを記録し、manifest は range を保持します。caret と tilde の省略記法は、range がどれだけの変動を許容するかを表す一般的な方法です。
関連ガイド
What Is a Caret Range?A caret range allows version updates that do not change the leftmost non-zero version component, permitting c…
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 Dependency Lockfile Drift?Dependency lockfile drift is when the committed lockfile no longer matches the manifest or installed packages…