バージョン固定ルール
概要
すべての依存関係でバージョンを固定し、再現性と安定性を確保する。
禁止パターン
| パターン | 説明 | 例 |
|---|---|---|
latest | 最新バージョン指定 | pnpm = "latest" |
^ | メジャー互換範囲 | "react": "^19.0.0" |
~ | マイナー互換範囲 | "typescript": "~5.7.0" |
>= | 最小バージョン指定 | "fastapi>=0.115.0" |
> | より大きいバージョン | "pydantic>2.0.0" |
正しい指定方法
Node.js (package.json)
json
{
"dependencies": {
"react": "19.2.3",
"react-dom": "19.2.3"
}
}
Python (pyproject.toml)
toml
dependencies = [
"fastapi==0.128.0",
"pydantic==2.12.5",
]
mise (.mise.toml)
toml
[tools] pnpm = "10.28.1" uv = "0.9.26" just = "1.46.0"
バージョン更新フロー
- •Renovate が自動で PR を作成
- •CI でテストを実行
- •レビュー後にマージ
- •ロックファイルが自動更新される
理由
- •再現性: 同じバージョンで動作保証
- •安定性: 予期しない破壊的変更を防止
- •CI/CD: ビルドの一貫性を確保