패키지 역할 구분
런타임에 필요한 패키지와 개발 중에만 필요한 패키지를 나누어 배포 크기와 실행 환경을 정리합니다.
depsnpm은 패키지를 설치하는 명령어 모음이 아니라 package.json, lockfile, semver, scripts로 프로젝트의 실행 조건을 재현 가능하게 만드는 시스템입니다. 특히 lockfile과 의존성 범위가 협업 품질을 좌우합니다.
런타임에 필요한 패키지와 개발 중에만 필요한 패키지를 나누어 배포 크기와 실행 환경을 정리합니다.
deps^와 ~는 자동 업데이트 범위를 뜻하므로 semver 규칙을 모르면 예기치 않은 버전이 설치될 수 있습니다.
semverpackage-lock.json은 하위 의존성까지 고정해 CI와 팀원의 설치 결과를 맞춥니다.
deterministicbuild, test, lint, dev 같은 반복 작업을 npm scripts로 고정하면 실행 방식이 문서가 됩니다.
automation^1.2.3 -> 1.x 안에서 업데이트 가능
~1.2.3 -> 1.2.x 안에서 업데이트 가능
1.2.3 -> 정확히 이 버전