시맨틱 버저닝(semantic versioning) 과 NPM

2023. 4. 12.·🎨 프론트엔드 공부/기타

📍참고

https://semver.org/

 

Semantic Versioning 2.0.0

Semantic Versioning spec and website

semver.org

 

📍시맨틱 버저닝(semantic versioning - semver)

✅소프트웨어 버전 관리를 위해 버전 번호를 정하는 법칙

 

버전을 major, minor, patch 로 나눠 구분한다

예) 1.0.0 버전의 patch 버전은 0

 

✅각 버전 번호가 바뀌는 상황

- major : 기존 버전과 호환되지 않게(하위호환성 보장 X) API가 바뀌는 경우

- minor : 기존 버전과 호환되면서(하위호환성 보장) 새 기능 추가

- patch : 기존 버전과 호환되면서 버그를 수정

 

✅기타

- 1.0.0 이 첫 공개 API이다

- 0.y.z 는 개발 단계이며 공개 전이므로 아무렇게나 변경할 수 있다.

- 특정 버전으로 패키지가 배포되면, 그 버전의 내용을 변경해서는 안된다. 새로운 변경이 있다면 새로운 버전으로 배포해야 한다

 

📍NPM 에서는?

✅캐럿(^)으로 최소로 적용될 버전을 명시할 수 있다

아래에서 react 버전은 ^18.2.0 = 18.2.0 이상 19.0.0 미만 이 가능함을 나타낸다

 

예시

// package.json  

// ...
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5", // 5.16.5 이상 ~ 6.0.0 미만 사용할 것!
    "@testing-library/react": "^14.0.0",
    "@testing-library/user-event": "^14.4.3",
    "react": "^18.2.0", // 18.2.0 <= 이 범위의 React를 사용! < 19.0.0
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1"
  }

 

'🎨 프론트엔드 공부/기타' 카테고리의 다른 글
  • [vue-query] query key 관련 공식문서 정리
  • React Hook Form (1) Get Started
  • npm workspace로 모노레포 구축하기
  • Matchers (Jest, RTL)
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (510)
      • 🎨 프론트엔드 공부 (247)
        • JS & TS (86)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
시맨틱 버저닝(semantic versioning) 과 NPM
상단으로

티스토리툴바