# Overview URL: /lynx/updates/upgrade Source: https://github.com/daangn/seed-design/blob/dev/docs/content/lynx/updates/upgrade/index.mdx SEED Lynx 패키지 버전을 올릴 때 호환성을 확인하고 안전하게 업그레이드하는 방법을 안내합니다. SEED Lynx 패키지(`@seed-design/lynx-react`, `@seed-design/lynx-css` 등)를 업그레이드할 때 확인할 호환성과 작업 순서를 안내합니다. SEED Lynx 0.x에서 1로 업그레이드할 때 필요한 패키지, snippet, 코드 변경사항입니다. ## 버저닝 정책 | 구간 | 정책 | | ---------- | ---------------------------------------------------------------------------------- | | **1.0 이상** | strict SemVer를 따릅니다. 하위 호환되지 않는 변경은 **major에서만** 발생하고, minor와 patch는 하위 호환을 보장합니다. | | **0.x** | 안정화 과정에서 기능 추가와 breaking change를 minor로, 호환되는 버그 수정을 patch로 배포했습니다. | SEED Lynx 1.0.0부터 같은 major 안에서는 minor와 patch를 자유롭게 올릴 수 있습니다. 0.x에서 버전을 올릴 때는 각 릴리스의 변경사항을 확인하세요. 여기서 하위 호환은 코드와 화면에 모두 적용됩니다. 디자인 판단에 따른 스타일 변경도 major에서만 일어납니다. 잘못된 값을 바로잡는 조정은 patch에 포함될 수 있습니다. ## 호환성: lynx-react ↔ lynx-css `@seed-design/lynx-react`는 `@seed-design/lynx-css`의 클래스와 스타일을 사용합니다. 호환되지 않는 버전을 섞으면 스타일이 깨질 수 있습니다. - **1.0 이상:** `lynx-react`의 `peerDependencies`가 호환되는 `lynx-css` 범위를 선언합니다. 1.0에서는 `^1.0.0`입니다. - **0.x:** 설치한 `lynx-react`의 `peerDependencies`에서 요구하는 정확한 `lynx-css` 범위를 확인합니다. 0.x의 minor에는 breaking change가 포함될 수 있으므로, 범위를 임의로 넓히지 마세요. 설치한 패키지의 선언은 다음 명령으로 확인할 수 있습니다. ```bash cat node_modules/@seed-design/lynx-react/package.json | grep -A5 peerDependencies ``` ### Snippet 호환성 확인하기 Lynx 프로젝트의 `seed-design.json`에 `"framework": "lynx"`가 설정되어 있으면 `compat`이 설치된 Lynx snippet과 `lynx-react`, `lynx-css` 버전을 검사합니다. ```bash npx @seed-design/cli@latest compat ``` 호환 문제가 있으면 종료 코드 `1`로 끝나므로 CI에서도 사용할 수 있습니다. 이 명령은 로컬 snippet 파일이 최신인지 확인하지 않습니다. ## 버전 올리기 ### 현재 호환 상태 확인 ```bash npx @seed-design/cli@latest compat ``` 0.x를 사용 중이라면 설치된 `lynx-react`의 `peerDependencies`도 확인하세요. ### 변경사항 확인 현재 버전 이후의 변경사항을 확인합니다. ```bash npx @seed-design/cli@latest docs lynx/updates/changelog/lynx-react/{현재버전} --raw ``` 특정 목표 버전까지만 올린다면 그보다 높은 버전의 변경사항은 건너뛰세요. ### lynx-react와 lynx-css 함께 올리기 두 패키지를 호환되는 범위로 한 번에 올립니다. - npm: npm install @seed-design/lynx-react@\{목표버전} @seed-design/lynx-css@\{호환버전} - pnpm: pnpm add @seed-design/lynx-react@\{목표버전} @seed-design/lynx-css@\{호환버전} - yarn: yarn add @seed-design/lynx-react@\{목표버전} @seed-design/lynx-css@\{호환버전} - bun: bun add @seed-design/lynx-react@\{목표버전} @seed-design/lynx-css@\{호환버전} 1.0으로 올릴 때는 둘 다 `^1.0.0`으로 맞추세요. 직접 설치한 `@seed-design/lynx-react-*` 패키지도 같은 major로 올립니다. ### Snippet 업데이트 목표 버전의 업그레이드 가이드가 재설치를 요구하는 snippet만 다시 받습니다. ```bash npx @seed-design/cli@latest add ui:{component} --on-diff backup ``` 백업과 새 파일을 비교해 프로젝트의 사용자 정의만 새 파일에 옮깁니다. ### 검증 타입 검사와 빌드를 실행하고 화면과 동작을 확인합니다. 마지막으로 `compat`을 다시 실행합니다.