Manypkg를 사용한 Monorepos의 종속성 ☔️

Or: Make upgrading dependencies of your monorepo quick and easy with this one simple package*



yarn add @manypkg/cli

monorepos의 일반적인 지혜는 패키지의 외부 버전에 의존할 때 모든 곳에서 동일한 버전에 의존해야 한다는 것입니다. 이를 통해 다양한 패키지에서 보다 일관된 동작을 보장하고 설치 시간을 단축하며 번들 크기를 줄일 수 있습니다.

manypkg 패키지가 다른 버전에 의존하는 경우를 감지하고 시작된 이후로 이를 수정할 수 있었지만 업데이트를 수행하는 방법에 대한 좋은 경로가 없었습니다. 최신 도우미 명령을 입력하십시오.

manypkg upgrade react

이 명령은 react 에 의존하는 모든 패키지를 찾아 latest 로 업그레이드합니다. 멋지고 간단합니다.

이것은 다음과 같은 태그와 함께 작동합니다.

manypkg upgrade react next

다음과 같은 버전 범위에서 작동합니다.

manypkg upgrade react ^16.3.0

monorepos의 패키지



monorepo에서 패키지를 설치하는 경우 해당 monorepo의 모든 패키지를 동일한 시점으로 한 번에 업그레이드할 수 있습니다. 이를 위해 범위를 지정할 수 있습니다.

manypkg upgrade @keystonejs

여전히 태그 또는 버전을 지정할 수 있으며 모든 패키지가 첫 번째 태그로 업그레이드됩니다.

모노레포에서 태깅



모노레포에서 모든 패키지의 특정 릴리스를 설치할 수 있는 것이 (최신 버전을 원하지 않을 때) 유용하지만 패키지의 각 버전이 별도로 유지될 수 있다면 여전히 좋다는 이론이 있습니다.

이 두 가지를 모두 허용하기 위해 릴리스 이름을 지정하고 npm 에서 그 이름을 의미 있게 만들 수 있기를 원합니다. 가장 좋은 방법은 npm 의 모든 패키지에 태그를 지정하는 것입니다.

manypkg npm-tag arcade

이렇게 하면 monorepo에 있는 모든 패키지의 현재 버전에 태그arcade가 추가됩니다. 이제 모든 것이 manypkg upgrade arcade로 설정되었습니다 😎

이러한 새로운 도구를 사용하면 모노리포를 관리하고 패키지 소비자를 더 쉽게 만들 수 있습니다.

이것은 깔끔하지만 Manypkg에 다른 명령이 있습니까?



그렇습니다! manypkg checkmanypkg fix는 귀하의 종속성에 대한 독단적인 린트이며 주로 monorepos 설치 또는 링크가 더 효율적이라는 데 중점을 둡니다. monorepo에서 개발 중이라면 이것이 도움이 될 것입니다. 그렇지 않으면 업그레이드를 위해 manypkg를 사용할 수 있습니다. 걱정할 필요가 없습니다.

*네 학자처럼 제목을 씁니다 ¯\_(ツ)_/¯

좋은 웹페이지 즐겨찾기