Monorepo 관리를 위해 Lerna에서 Turbo로 마이그레이션하는 방법.
4138 단어 lernajavascriptturbomonorepo
아시다시피 Lerna는 더 이상 사용되지 않으므로 Lerna의 기반을 대체하는 데 도움이 될 수 있는 유틸리티를 찾아야 했습니다. 선택한 유틸리티는 Turbo였습니다.
토마스 두친 🇺🇦
@tomasz_ducin
Lerna는 이제 공식적으로 죽은 프로젝트입니다. github.com/lerna/lerna
오후 22:00 - 2022년 4월 27일
TLDR
우선 우리는 Monorepo 관리를 위해 실제로 존재하는 다양하고 인기 있는 도구를 비교하는 데 도움이 되는 이 기사를 읽었습니다.
https://monorepo.tools/
다음과 같은 기본적인 이유로 Turbo로 전환했습니다.
이것은 우리가 먼저 시도하기에 충분했습니다. 다른 것을 먼저 시도하는 것을 주저하지 마십시오.
Lerna 컨텍스트
시작하려면 프로젝트를 구성한 방법과 MonoRepo 관리에 프로젝트를 사용한 방법을 알려야 합니다.
Lerna 사용 방법:
프로젝트 구조:
apps/
../app-a
../app-b
packages/
../package-a
../package-b
lerna.json
package.json
Lerna와 함께 사용되는 명령:
# Bootstrap workspaces
lerna bootstrap
# Link lerna repos
lerna link
# Build the packages workspaces
lerna run build --scope="@company/package-a" --scope="@company/package-b"
# Build the project workspaces
lerna run build --scope="@company/project-a"
# Build the project workspaces
lerna run build --scope="@company/package-b"
알아야 할 사항
Turbo는 작업 실행 및 캐싱에 사용되고 있습니다.
패키지를 symlinking하는 데 Yarn 작업 공간이 사용되고 있습니다.
터보로 마이그레이션
우리의 경우 로컬 및 ci 모두에 대해 전역적으로 사용하고 있으며 package.json에 직접 설치할 수도 있습니다.
npm install --global turbo
이제 lerna.json 파일을 삭제하고 다음 콘텐츠로 turbo.json 파일을 생성해야 합니다.
Link to Turborepo docs
우리에게는 명령 마이그레이션을 시작하는 것으로 충분했습니다. 이것에 대한 재미있는 점은 모든 앱 deps를 빌드하기 위해 하나의 명령만 실행하면 된다는 것입니다.
# Bootstrap workspaces
yarn install
# Build app a
turbo run build --scope="@company/app-a"
# Build app b
turbo run build --scope="@company/app-b"
(권장하지 않음) 좀 더 명시적인 것을 원하는 경우:
# Bootstrap workspaces
yarn install
# Build package a
turbo run build --scope="@company/package-a" --no-deps
# Build package b
turbo run build --scope="@company/package-b" --no-deps
# Build app a
turbo run build --scope="@company/app-a" --no-deps
turbo.json 파일을 수정하여 take advance of it에 더 많은 명령을 추가할 수 있지만 우리의 경우에는 이런 방식으로 해도 괜찮았고 다른 명령에는 원사 작업 공간을 사용하고 있습니다.
yarn workspaces run lint:fix
yarn workspaces run prettier:fix
개요:
이 기사가 Turbo로 마이그레이션을 시작하는 데 도움이 되고 우리보다 더 복잡한 워크플로를 마이그레이션하는 데 도움이 되기를 바랍니다.
에서 저를 팔로우하는 것을 잊지 마세요. 저는 솔직히 아무 것도 게시하지 않지만 백엔드 및 프론트엔드 개발자에게 흥미로운 많은 것을 리트윗합니다.
Reference
이 문제에 관하여(Monorepo 관리를 위해 Lerna에서 Turbo로 마이그레이션하는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/icruzr93/how-to-migrate-to-turbo-from-lerna-5a6b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)