가이드가 있는 codemods를 사용하여 Next.js 프로젝트를 v16으로 업그레이드합니다
언제 쓸까: Next 16 업그레이드를 미루고 있었습니다. 에이전트가 codemods를 실행하고 비동기 API 마이그레이션을 수정하기를 원합니다.
사전 조건
- v14+ 버전의 Next.js 프로젝트 — package.json을 확인합니다
- 클린 git 작업 트리 —
git status결과가 클린 상태입니다. 필요한 경우 되돌릴 수 있습니다
흐름
-
업그레이드 도구 실행이 프로젝트에서 upgrade_nextjs_16을 실행합니다. 적용하기 전에 각 codemod를 단계별로 설명합니다.✓ 복사됨→ 변경 사항의 목록 및 미리 보기 위한 diffs
-
비동기 API 호출 사이트 수정codemods 이후 프로젝트를 빌드합니다. cookies()/headers()의 이제 비동기 오류가 발생하면 호출 사이트를 수정하여 await를 사용합니다.✓ 복사됨→ 빌드 성공
-
Cache Components 활성화enable_cache_components를 실행합니다. 보고된 모든 경계 오류를 수정합니다.✓ 복사됨→ Cache components 활성화됨, 앱 실행 중
결과: 산재된 일 주 대신 하나의 집중된 세션에서 Cache Components가 있는 작동하는 Next 16 프로젝트입니다.
함정
- Codemods는 사용자 지정 패턴의 비동기 사용을 수정할 수 없습니다 — 각 codemod 단계 후 빌드를 실행합니다. codemod이 'REVIEW' 주석을 태그할 때 수동으로 수정합니다
- 타사 라이브러리가 Next 16에 준비되지 않을 수 있습니다 — 업그레이드하기 전에 패키지 호환성을 확인합니다. 손상된 라이브러리를 고정하고 업스트림에 문제를 보고합니다