Upgrade Guides
SEED 패키지 버전을 올릴 때 호환성을 확인하고 안전하게 업그레이드하는 방법을 안내합니다.
SEED 패키지(@seed-design/react, @seed-design/css 등)의 버전을 올릴 때 호환성을 확인하고 안전하게 업그레이드하는 방법을 안내합니다.
세부 변경 목록은 업그레이드하려는 목표 버전에 맞춰 확인하세요.
SEED React 2
SEED React 1.2.x에서 2로 업그레이드할 때 필요한 패키지·코드 변경사항입니다.
SEED React 1 and older
SEED React 2 이전 버전 간 업그레이드에 필요한 작업입니다.
버저닝 정책
SEED는 2.0을 분기점으로 버저닝 정책이 다릅니다.
| 구간 | 정책 |
|---|---|
| 2.0 이상 | strict SemVer를 따릅니다. breaking change는 major에서만 발생하고, minor·patch는 하위 호환을 보장합니다. |
| 2.0 미만 (0.x·1.x) | minor·patch에서도 breaking이 있을 수 있었습니다. 이 구간은 아래 호환성 섹션의 방법으로 실제 호환 범위를 확인합니다. |
2.0 이상에서는 같은 major 안에서 minor·patch를 자유롭게 올릴 수 있습니다. 1.x 구간을 올릴 때 호환성 확인이 특히 중요합니다.
여기서 "하위 호환"은 코드뿐 아니라 화면에도 적용됩니다. 색상 토큰은 이름뿐 아니라 값도 major에서만 바뀝니다. 디자인 판단에 따른 색상·스타일 변경은 major에서만 일어나므로, minor·patch를 올려도 의도적으로 화면이 달라지지는 않습니다. 다만 잘못된 값을 바로잡는 조정(대비 기준 미달 등)은 patch에 포함될 수 있습니다.
@seed-design/css/vars/component/typography를 제외한 @seed-design/css/vars/component/* 경로는 SemVer 보장 대상이 아닙니다. rootage component spec이 바뀌면 minor·patch에서도 이름이나 구조가 바뀔 수 있으므로 앱·라이브러리 코드에서 직접 의존하지 않는 것을 권장합니다.
호환성: react ↔ css
@seed-design/react는 @seed-design/css를 런타임 기반(클래스네임·스타일)으로 사용합니다. 두 패키지를 호환되지 않는 버전으로 섞으면 클래스네임이 어긋나 스타일이 깨질 수 있습니다.
- 2.0 이상:
react가peerDependencies로 호환되는css범위(^N.M.0)를 선언합니다. 선언을 그대로 신뢰하면 됩니다. - 2.0 미만: 선언에 상한이 없거나 아예 누락된 구간이 있어, 선언만 보면 통과하지만 실제로는 스타일이 어긋나는 조합이 존재합니다.
2.0 이상
설치된 패키지의 peer 선언을 확인합니다.
^2.0.0처럼 선언된 범위 안에 설치된 css 버전이 들어가면 호환됩니다. strict SemVer를 따르므로 minor·patch 업그레이드는 안전합니다.
2.0 미만
1.x 구간은 선언만으로 판단할 수 없습니다. 어떤 조합이 실제로 맞는지는 SEED React 1 and older 문서의 패키지 간 버전 호환성 섹션에 버전별 표로 정리돼 있습니다. @seed-design/stackflow를 함께 쓴다면 알려진 비호환 조합도 그 표에서 확인하세요.
핵심 규칙만 옮기면, css는 react와 같은 마이너 라인이어야 하고 표에 적힌 하한 이상이어야 합니다. 정확한 하한과 예외는 표를 따르세요.
스니펫 호환성 확인하기
설치된 스니펫이 현재 패키지 버전과 맞는지는 compat으로 확인합니다.
호환 이슈가 있으면 종료 코드 1로 끝나므로 CI 게이트로도 쓸 수 있습니다.
버전 올리기
현재 호환 상태 확인
설치된 스니펫이 현재 패키지 버전과 맞는지 확인합니다.
react와 css가 서로 맞는지는 위 호환성: react ↔ css를 따릅니다. 2.0 이상이면 peer 선언을, 1.x면 v1 문서의 호환표를 확인하세요.
변경사항 확인
목표 버전까지 무엇이 바뀌는지(특히 breaking change) 확인합니다.
이 명령은 현재 버전 이후 최신까지 모든 변경사항을 반환합니다. 특정 목표 버전까지만 보려면 그보다 높은 버전 섹션은 건너뛰세요.
react와 css를 호환되는 조합으로 올리기
1.x 구간을 넘나들 때는 react와 css를 호환되는 버전으로 함께 올려야 합니다. 한쪽만 올리면 스타일이 깨질 수 있습니다.
두 패키지의 버전 번호는 서로 다릅니다. 각각 독립적으로 릴리즈되기 때문에 같은 번호를 맞춰 설치하면 안 됩니다(예: [email protected]의 짝은 [email protected]). css 목표 버전은 위 호환성 절차로 따로 정하세요 — 2.0 이상이면 react의 peer 선언 범위에서, 1.x면 v1 문서의 호환표에서 고릅니다.
검증
업그레이드 후 다시 compat으로 스니펫 호환을 확인하고, 화면 스타일과 동작을 점검합니다.
복잡한 버전 점프나 여러 패키지를 한 번에 올릴 때는 Claude Code 등에서 /seed-design 스킬에게 "현재 버전에서 X로 업그레이드하고 싶어"라고 요청하면 호환 진단, 업그레이드 경로, 재설치할 snippet 목록을 정리해 줍니다.
Last updated on