pnpm 이 약간 호환성 surface 와 디스크 + strictness 의 큰 승 거래. 이 룰들이 거래를 favorable 하게 유지.
package.json 의 packageManager 로 pnpm 버전 핀. 다른 pnpm 버전이 다른 lockfile 생성. 핀이 버전 drift 로 인한 'works on my machine' 제거.
CI 에서 --frozen-lockfile 사용. npm ci 와 같은 역할 — strict, 빠름, lockfile drift 에 fail.
가끔 pnpm store prune. 글로벌 store 가 더 이상 어떤 프로젝트도 reference 안 하는 패키지 누적. 매월 prune 으로 기가바이트 회수.
신뢰하는 패키지에만 lifecycle script 허용. v10 이 디폴트로 lifecycle script 차단 — 그게 옳은 디폴트. 진짜 필요한 패키지 (esbuild, sharp 등) 에 대해 package.json 의 pnpm.allowedDeprecatedVersions 와 pnpm.onlyBuiltDependencies 로 opt-in.
Strictness 받아들여. pnpm 이 빠진 dep 불평하면 dep fix — pnpm 과 싸우지 마. pnpm 이 잡는 모든 에러가 미래 production 버그 회피.