Lockfile

npm 의존성 그래프와 잠금 파일은 설치 결과를 재현한다

package.json은 의도 범위를 적고 lockfile은 실제로 설치된 전체 트리와 정확한 버전을 고정한다.

파일맡는 일바뀌는 시점검토 기준
package.json직접 의존성과 버전 범위 기록패키지 추가·삭제·범위 변경필요한 패키지만 직접 의존성
package-lock.json전체 의존성 트리와 정확한 버전 고정install/update 후 변경의도하지 않은 대량 변경 확인
node_modules실제 설치된 파일로컬 설치 때 생성커밋하지 않음
semver range허용 가능한 업데이트 범위^, ~, exact예상보다 큰 업데이트 방지
npm cilockfile 기준 깨끗한 설치CI와 배포 환경lockfile과 package.json 불일치 실패

잠금 파일은 잡음이 아니라 팀과 CI가 같은 의존성 그래프를 설치하게 만드는 재현성 장치다.