명령줄에서 npm 패키지 릴리스의 차이점을 만드는 방법

2670 단어 nodewebdev
오늘 나는 정기적으로 가지고 있는 문제를 해결하는 의 패키지npm-diff를 발견했습니다.

상황을 알고 계실 것입니다. Node.js 프로젝트에서 하나의 종속성을 업데이트하면 모든 것이 중단됩니다. 이 업데이트는 이전 버전과 호환되는 패치 릴리스여야 했지만 문제가 발생했습니다. 이제 어떻게 두 npm 패키지의 diff를 빠르게 생성할 수 있습니까? GitHub로 이동하여 차이점을 만드시겠습니까? 나는 항상 이 과정이 번거롭다는 것을 알았다.

이 상황에서 npm-diff 명령이 사용됩니다. 🎉

패키지를 전체적으로 설치하거나 npx을 통해 사용할 수 있습니다. 사용법은 간단합니다. 두 개의 릴리스 버전 번호와 쌍을 이루는 패키지 이름을 정의하면 두 패키지 버전의 diff에 액세스할 수 있습니다.

npm-diff <package-name> <release-1> <release-2>

npm-diff web-vitals-element 1.0.0 1.0.1




bare-bones 명령은 두 패키지 버전의 "uncolored diff"를 생성합니다. Julian이 the package documentation에서 설명했듯이 npm-diff 출력을 colordiff(아마도 먼저 설치해야 함) 및 less로 파이프하여 멋진 색상의 diff를 볼 수 있습니다.

npm-diff web-vitals-element 1.0.0 1.0.1 | colordiff | less




이미 훨씬 낫습니다! 나는 한 단계 더 나아갔다.

delta는 구문 강조가 있는 diff 도구입니다.



얼마 전에 명령줄에서 git diff에 delta을 사용하기 시작했습니다. 환상적이야! 줄 번호를 표시하고 구문 강조를 지원하며 고도로 구성 가능합니다. 터미널에서 side-by-side diffing도 지원합니다!

npm-diff web-vitals-element 1.0.0 1.0.1 | delta | less


당신이 나에게 묻는다면 그것은 꽤 좋아 보인다!



그리고 마지막 단계로 다채로운 출력 없이 npm-diff를 사용하는 것을 볼 수 없기 때문에 환경에 npm-diff 셸 기능을 추가했습니다.

function npm-diff() {
  command npm-diff $1 $2 $3 | delta --width $(tput cols) | less
}

tput가 무엇을 만드는지 궁금하시다면 저는 delta가 항상 나란히 보기를 표시하도록 구성했습니다. 이 보기에는 width 정의가 필요하며 tput 전체 터미널 너비에 걸쳐 diff를 확장할 수 있습니다.

즐거운 디핑! 👋

좋은 웹페이지 즐겨찾기