React-Native를 개발하게 된 요즘.. 요 며칠 빌드 에러 지옥에 빠져살았다..
expo를 사용한 탓인지.. 여기 저기서 패키지 버전 관련 에러가 발생🤯 하게 되었다
때문에 특정 패키지 내용을 수정하면, 수정한 내용을 언제든 보장 받을 수 있도록 하는 장치가 필요했다.

node_modules 내 외부 라이브러리 소스를 직접 수정한 후, 그 수정사항을 직접 프로젝트에 반영할 수 있도록 해주는 도구이다.
npm install patch-package --save-dev
"scripts": {
"postinstall": "patch-package"
}
이후 수정이 필요한 node_modules 내 파일을 수정해준다.
npx patch-package some-package
some-package은 수정하고자 하는 패키지를 의미한다.
해당 작업을 하면 patches/라는 폴더가 생기고 some-package+버전.patch 파일이 생성된다.
이렇게 되면, 다른 개발자가 해당 레포를
clone하거나pull하더라도 해당 패키지 변경 사항을 동일하게 받아볼 수 있어 일관성 있는 코드를 유지할 수 있게 된다!!
패키지를 직접 수정하면
node_modules는Git에 포함되지 않기 때문에, 다른 개발자나 CI 환경에서는 수정 사항이 반영되지 않는다.
이럴 때patch-package가 해당 변경 사항을.patch파일로 만들어 Git으로 공유할 수 있게 해준다.
node_modules 내 특정 패키지만 쏘옥 빼서 git에 반영할 수 있다니..
매우 신기하고 또 신기했다 😲🥰