728x90

Semeantic Versioning(SemVer. 유의적 버전)

버전 번호를 어떻게 정하고 올려야 하는지를 명시하는 규칙과 요구사항을 제안한다.

공개 API를 정의하고, 버전 번호를 올리는 방식을 통해 API가 어떻게 바뀌는지 표현한다.

버전을 X.Y.Z (주.부.수) 형식으로 정한다. (Major,Minor,Patch)

API에 영향이 없는 버그 수정은 수(修)버전을 올리고, API가 호환되면서 바꾸거나 추가하는 경우에는 부(部)버전을 올리고, API가 호환되지 않는 변경이라면 주(主)버전을 올린다.

 

Dependency Versioning

Package.json의 Dependency들의 versioning은 위의 SemVer의 규칙을 따른다.

  • 1.2.3 : v1.2.3 과 일치해야한다.
  • >1.2.3 : v1.2.3보다 높아야한다. 만약 v1.2.4가 없다면 v1.2.5를 찾고 v1.2.5도 없다면 v1.2.6을 찾는 방식.
  • >=1.2.3 : v1.2.3보다 같거나 높아야한다.
  • <1.2.3 : v1.2.3보다 낮아야한다.
  • <=1.2.3 : v1.2.3보다 같거나 낮아야한다.
  • ~1.2.3 : v1.2.3과 가장 가까운 버전
    • 현재 지정한 버전의 마지막 자리(수) 내의 범위에서 자동 업데이트한다.
    • 위의 상황은 1.2.3<= x < 1.3.0 중 가장 1.2.3과 가까운 버전
  • ^1.2.3 : v1.2.3과 호환이 되는 버전
    • api의 주버전이 바뀌면 API의 호환성이 깨지게되고 부,수 버전은 하위호환성을 지킨다는 SemVer의 특성을 지키고 있다는 가정하에 사용한다 .
    • 현재 지정한 버전의 첫번째 자리 (주) 내의 범위에서 자동 업데이트한다. 
    • 위의 상황은 1.2.3 <= x < 2.0.0 중 가장 최신버전

'Webpack' 카테고리의 다른 글

Package-lock.json  (0) 2021.07.27
Bundle Diet  (0) 2021.07.26
Webpack 이란?  (0) 2021.01.15

+ Recent posts