본문으로 이동
Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션
문서

Nx에서 Bun 더 잘 사용하기: Nx 18 -> 21 마이그레이션

김재민 컬리 · 컬리 기술 블로그

원문 보기

AI 핵심 요약

Nx 18과 Bun을 함께 사용하던 팀은 Nx가 Bun 대신 Yarn을 선택하고, webpack 빌드에서 bun.lockb의 의존성 메타데이터를 읽지 못하는 문제를 겪었습니다. Nx의 lock file 감지 로직을 확인해 마이그레이션 중 yarn.lock을 제거한 뒤, Bun 1.2.x와 Nx 21.4 이상으로 올려 텍스트 형식의 bun.lock을 사용했습니다. 그 결과 CI 파이프라인은 14% 짧아지고 아티팩트 크기는 15% 줄었으며, lock file diff 확인과 Dependabot 연동도 개선됐습니다. 공식 지원 표기만으로 프로덕션 안정성을 단정하지 말고, 실제 버전별 호환성과 우회책의 유지보수 비용을 함께 검토해야 한다는 교훈을 얻었습니다.

  • Nx는 lock file을 기준으로 패키지 매니저를 감지하므로, 지원되지 않는 lock file이나 남아 있는 yarn.lock이 감지를 방해할 수 있습니다.
  • Nx 19.5부터 Bun을 공식 지원하지만, bun.lock 파싱 개선과 webpack 빌드 문제 해결을 위해서는 Nx 21.4 이상이 필요했습니다.
  • 바이너리 lock file은 리뷰와 병합, 외부 도구 연동에 불리하므로 텍스트 형식인 bun.lock의 장점을 고려하세요.
  • 우회 스크립트나 커스텀 플러그인을 추가하기 전에 업그레이드 비용과 장기 유지보수 부담을 비교하세요.
  • 공식 지원 전 도구 조합을 도입할 때는 지원 로드맵, 관련 이슈, lock file 호환성, 롤백 계획을 미리 확인하세요.

소개

Nx가 Bun을 공식 지원하기 전에 도입했다면 마주칠 수 있는 문제들과 해결 방법

비슷한 학습 자료

문서 김덕원

시간이 지날수록 그동안 잘 사용했던 기반 기술들이 더 이상 최선의 선택이 아닌 순간이 오는데요. 제품을 계속 안정적으로 운영하면서 마이그레이션 또한 쉽지 않습니다. 오늘은 토스의 TUBA 팀에서는 이런 문제를 어떻게 해결했는지 소개드릴게요.

프론트엔드

문서 박서진

토스 프론트엔드 레포지토리 대부분에서 사용하고 있는 패키지 매니저 Yarn Berry. 채택하게 된 배경과 사용하면서 좋았던 점을 공유합니다.

프론트엔드 개발 도구

문서 이창섭

리뉴얼된 AccessBlock

백엔드 데브옵스 · 인프라

문서 이창섭

AccessBlock, 그 시작과 진화의 여정

백엔드 데브옵스 · 인프라

문서 김민중

새로운 컬리몰을 만드는 과정을 소개합니다.

풀스택

문서 김민섭

나라가 허락한 유일한 마약

소프트웨어 테스트 TDD