patch-package
Post

patch-package

patch package

라이브러리나 프레임워크 등 npm 패키지 자체의 수정이 필요할 때 patch-package라는 패키지를 이용할 수 있다.

패키지 의존성은 그대로 유지하면서, 변경한 npm 패키지의 내용을 버전 관리 대상으로 간단하게 만들 수 있다.

patch-package는 node_modules 안의 수정사항을 Git으로 관리한다.

node_modules 내부의 package 수정사항을 patch 파일 형태로 patches 폴더에 저장하고, patches 안의 patch를 node_modules 에 적용한다.

npm 패키지 수정 방법

  • github에 fork를 통해 내소유의 repo로 전환 → 이후 잘못된 부분에 대해 commit으로 수정
    • 이후 원래 repo에서 해당 내용을 patch 하게 되는 경우, 기존파일 보존 불가
  • patch-package 활용
    • npm install 이후 스크립트를 사용하여 버전을 비교한 뒤 지정한 패치 내용이 적용 되는 것

사용방법

npm install patch-package 설치 후, package.json의 scripts부분에서 “postinstall”:”patch-package”를 선언해준다.

라이브러리나 패키지들을 설치하기 위해 npm install을 하면, 이후 patch package가 자동으로 실행된다.

npx patch-package [library이름]시, local 패키지와 npm패키지를 비교한 파일이 생성된다.

참고