npm semantic versioning

npm의 패키지 생태계를 건강하게 관리하기 위해서, 정해진 규칙에 따라 버전의 이름을 변경한다. 버전은 x.x.x의 형태를 가지며 다음과 같은 규칙을 가진다.

일반적으로 초기 릴리즈는 1.0.0부터 시작하지만, 버전이 1.0.0 미만일 수도 있다(0.1.0부터 시작하는 경우). 이 경우 pre-release라고 불리며 1.0.0 버전 이전까지 api가 수시로 변경되는 초기 개발 단계라고 볼 수 있다.

의존 패키지 버전 범위 지정 방법

tilde(~): 마이너 버전이 명시 되어 있다면 패치 레벨의 변경만 허락. 마이너 버전이 명시되어 있지 않다면 마이너 레벨의 변경까지 허락

caret(^): 명시된 버전이 1.0.0 이상일 경우 메이저 레벨을 제외한 모든 변경을 허락. 1.0.0 미만 0.1.0 이상일 경우 패치 레벨의 변경만 허락. 0.1.0 미만일 경우 어떠한 변경도 허락하지 않음

참고자료

npm package.json에서 틸드(~) 대신 캐럿(^) 사용하기 :: Outsider’s Dev Story

About semantic versioning

유의적 버전 2.0.0

semver