背景
Node version は Dockerfile / GitHub Actions / local development / type definitions 等の複数箇所に現れる。
これらを個別に更新すると、
- CI は Node 24
- Docker は Node 26
- local は別 version
@types/node はさらに別 major
のような drift が発生しうる。
目的
repository が前提とする toolchain version を single source of truth にし、CI / container / local / type environment の不整合を機械的に検出する。
source of truth 候補
- root
package.json
engines.node
packageManager
.node-version
.nvmrc
- project-specific toolchain config
どれを採用するかは実装時に1つへ統一する。
検査対象
Node
- GitHub Actions
setup-node
- Dockerfile base image
- root
engines.node
- local development version file
@types/node major
npm
packageManager
- lockfile version
- CI / Docker で利用する npm command
TypeScript
完全な version 統一ではなく、workspace ごとに意図しない major drift がないことを検査する。
必要なら Vite Plus / Next.js 等との compatibility も policy metadata に含める。
Acceptance Criteria
背景
Node version は Dockerfile / GitHub Actions / local development / type definitions 等の複数箇所に現れる。
これらを個別に更新すると、
@types/nodeはさらに別 majorのような drift が発生しうる。
目的
repository が前提とする toolchain version を single source of truth にし、CI / container / local / type environment の不整合を機械的に検出する。
source of truth 候補
package.jsonengines.nodepackageManager.node-version.nvmrcどれを採用するかは実装時に1つへ統一する。
検査対象
Node
setup-nodeengines.node@types/nodemajornpm
packageManagerTypeScript
完全な version 統一ではなく、workspace ごとに意図しない major drift がないことを検査する。
必要なら Vite Plus / Next.js 等との compatibility も policy metadata に含める。
Acceptance Criteria
@types/nodeの意図しない major drift を検出できる