얀(Yarn)의 새로운 워크스페이스(Workspaces) 기능은 종속성 동기화 문제를 해소하면서 프로젝트 사이에서 코드를 보다 손쉽게 공유할 수 있게 해준다.
NPM에의
대안적 자바스크립 패키지 관리자인 페이스북의 얀이 1.0 버전에 도달했다. 이번 버전은 엔지니어링 프로젝트에 최신 코드가 사용될 수 있도록 보장하는 워크스페이스 기능성을 갖추고 있다.
워크스페이스를 이용하면 사용자는 코드 베이스를 '단일 리포지토리'로 전환해 코드 최신성을 유지할 수 있게 된다. 워크스페이스는 package.json 파일로부터 종속성을 수집하고 이를 한꺼번에 인스톨한다. 얀 1.0에는 또 잠금 파일들을 오토-머징(Auto-merging)하는 기능이 추가돼 있다. 여러 명이 동일 코드를 작업할 때 발생할 수 있는 병합 충돌 문제를 얀이 자동으로 해결할 수 있는 것이다.
이 밖에 선택적 버전 해결 능력이 있다. 이는 코드가 최신 보안 업데이트와 버그 픽스를 보유할 수 있도록 함으로써 버전 제어 절차를 간소화시켜준다. 얀 1.0의 다른 주요 기능으로는 개선된 업그레이드 경험, 빨라진 파일 통합성 확인, 별도의 잠금 파일 파서 모듈 등이 있다. 사용자는 또 일관성을 위해 다른 얀 바이너리와의 차별화시킬 수 있다.
오픈소스 얀이 가진 향후 계획에는 NPM을 사용해 이중인증을 제공하는 것이 포함돼 있다. 이는 설치된 패키지 내의 신뢰성을 증가시킬 수 있다. 또 패치나 작은 변화로 인해 중대한 변화가 발생하지 않도록 배포 프로세스와 툴링을 간소화나는 방인이 검토되고 있다.
페이스북에 따르면, 11개월 전에 처음 배포된 얀은 이제 깃허브의 루트 디렉토리에 종속성 관리를 지원하는 yarn.lock 파일를 통해 17만 5,000개 이사의 프로젝트를 뒷받침하고 있다. 또 얀을 이용함으로써 엔지니어는 패키지를 보다 빠르게 설치하는 한편, 기계 사이 및 보안 오프라인 환경에서 종속성을 일관적으로 관리하면서 NPM 레지스트리에 접근할 수 있다고 페이스북은 덧붙였다. 얀은 구글과 익스포넌트(Exponent), 틸드(Tilde)의 공동작업 기반했었다. ciokr@idg.co.kr