| name | pin-versions |
| description | 依存関係のバージョン固定。package.json や Terraform Provider を編集したら必ず実行。 |
Pin Versions
依存関係のバージョンを固定するスキル。
重要
package.json や Terraform Provider ファイルを編集した場合は、必ずこのルールに従ってバージョンを固定すること。
対象ファイル
**/package.json - npm/pnpm パッケージ
**/*.tf (providers.tf, versions.tf) - Terraform Provider
ルール
package.json
バージョン指定には ^ や ~ を使用せず、固定バージョンを指定する。
"dependencies": {
"react": "^19.0.0",
"next": "~15.0.0"
}
"dependencies": {
"react": "19.0.0",
"next": "15.0.0"
}
例外:
workspace:* - モノレポ内のパッケージ参照は許可
Terraform Provider
~> や >= を使用せず、固定バージョンを指定する。
// NG
terraform {
required_version = ">= 1.0"
required_providers {
aws = {
version = "~> 5.0"
}
}
}
// OK
terraform {
required_version = "1.14.3"
required_providers {
aws = {
version = "5.82.2"
}
}
}
確認コマンド
grep -r '"\^' apps/*/package.json packages/*/package.json
grep -r '"~' apps/*/package.json packages/*/package.json
grep -rE '"~>|">=' infra/terraform --include="*.tf"
手順
- ファイルを編集
- 上記の確認コマンドでバージョン指定を確認
^ や ~ があれば固定バージョンに修正
pnpm install で lockfile を更新(package.json の場合)
pnpm check で問題がないことを確認
理由
- 再現性の確保: 同じバージョンで常にビルドできる
- 予期しない破壊的変更の防止
- CI/CD での一貫性