정리하게 된 계기

"tailwindcss": "^3.4.14",
"vite": "^5.4.10",

package.json에 버전을 명시할 때 버전 앞에 붙는 틸드 ~캐럿 ^ 이 무슨 뜻인지 정확하게 이해하고자 정리하였다. (전에 글로 읽었었는데 까먹었다…)

Software Versioning

틸드와 캐럿에 대해 알아보기 전에 소프트웨어의 버전을 작성하는 방법부터 간단하게 이해하고 넘어가자. 소프트웨어의 버전을 명시하는 방법은 다양할 수 있다. 그 중 node.jsnpm은 모두 **시멘틱 버저닝(Semantic Versioning)**이라는 소프트웨어 버전 변경 규칙을 사용한다.

Semantic Versioning

image.png

시멘틱 버저닝은 Major.Minor.Patch 형태로 버전을 작성한다.

https://semver.org/에 들어가면 자세한 semantic versioning 명세를 확인할 수 있다. summary 내용만 간단하게 살펴보면 다음과 같다.

Summary 내용 번역

버전 번호 MAJOR.MINOR.PATCH가 있을 때, 다음과 같이 증가시킨다:

  1. MAJOR: 이전 버전과 호환되지 않는 API 변경 시
  2. MINOR: 이전 버전과 호환되는 방식으로 기능을 추가할 때
  3. PATCH: 이전 버전과 호환되는 버그 수정 시

pre-release(1.0.0 미만인 버전)와 build metadata를 위한 추가 라벨은 MAJOR.MINOR.PATCH 형식의 확장으로 사용할 수 있다.

틸드(~) 버저닝

그럼 다시 돌아와서 틸드 ~캐럿 ^ 에 대해 알아보자.