오픈소스 라이브러리를 사용하다보면, 불가피한 이유로 node_modules 속 라이브러리를 수정할 일이 발생할 수 있다.
이 경우, 매번 npm install을 할 때마다 수정해야하는 것은 물론이고 다른 사람과의 협업이 진행중이라면, 매번 라이브러리 수정 이슈에 대해서 설명하고 문서를 남겨야하는 번거로움이 있다.
이때 사용할 수 있는 라이브러리로 patch-package가 있다.
npm i patch-package
patch-package를 설치한 뒤 node_modules에서 라이브러리를 수정한다.
그리고 npx patch-package 해당_라이브러리_이름 으로 patch-package를 실행하면, patches 폴더가 생기고 내부에 라이브러리 이름과 버전을 이름으로 갖는 patch 파일이 생긴것을 확인할 수 있다.
npx patch-package 해당_라이브러리_이름
그리고 package.json의 postinstall을 다음과 같이 작성해준다.
"postinstall": "patch-package"
이제 npm run postinstall을 실행하거나, npm i가 실행된 뒤에 자동으로 해당 라이브러리가 수정되는 것을 확인할 수 있을 것이다.
patch-package는 patches 폴더 내부의 파일을 바탕으로 라이브러리를 수정해주기 때문에, 협업을 하고 있다면 이 폴더도 함께 공유하도록 한다.
https://github.com/ds300/patch-package
GitHub - ds300/patch-package: Fix broken node modules instantly 🏃🏽♀️💨
Fix broken node modules instantly 🏃🏽♀️💨. Contribute to ds300/patch-package development by creating an account on GitHub.
github.com
'Node' 카테고리의 다른 글
http 통신 request의 query, params, body (with express) (0) | 2023.03.25 |
---|---|
Node.js에서 ORM 사용하기 (sequelize 기본 설정 하기) (0) | 2023.03.23 |
간단하게 노드 서버에서 로그 기록하기 (morgan 사용하기) (0) | 2023.03.10 |
Node.js 의 Crypto - Cipher, Decipher 사용하기 (0) | 2023.02.09 |
Node.js의 문자열과 바이트 배열 (Uint8Array, Buffer) (0) | 2023.02.07 |