Node patch-package 사용

00_8_3·2023년 3월 14일
0

npm 패키지 커스텀

일반적으로 node_modules의 패키지를 직접 수정 할 일은 없겠지만
간혹 라이브러리에 의존성 문제가 발생하면 어쩔 수 없이 수정해야 하는 경우가 있다.
이러한 경우 어떻게 모듈을 관리해야 할까?

  1. fork

    라이브러리를 fork 후 직접 수정하여 사용.

  2. npm link

    npm link는 로컬에 있는 npm 패키지를 다른 프로젝트에서 사용할 수 있게 하는 명령어
    https://docs.npmjs.com/cli/v9/commands/npm-link
    https://medium.com/dailyjs/how-to-use-npm-link-7375b6219557

  3. patch-package
  4. 코드에서 해결

    수정해야 하는 모듈이 아닌
    코드에서 해결

내 생각에 라이브러리 코드가 아닌 내 로직코드에서 직접 해결하는게 제일 최선이고
로컬에서만 사용할 것이 아니기 때문에
3번 patch-package를 사용하도록 해본다.

patch-package

patch-package는 npm 패키지를 수정하고, 수정된 패키지를 저장하고,
이후 패치가 적용된 패키지를 사용하는 방법을 제공하는 도구입니다.

사용 방법

  1. 설치 npm i patch-package
  2. package.json scripts에 postinstall: "patch-package" 추가
  3. 로컬 A 라이브러리 수정.
  4. npx patch-package A
  5. 프로젝트 루트 디렉토리에 patches 폴더 확인
  6. git push

rm -rf node_modulesnpm i 하고 수정된 A가 반영 되었는지 확인.

https://www.npmjs.com/package/patch-package

https://velog.io/@goodenough/patch-package-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EC%BB%A4%EC%8A%A4%ED%85%80%ED%95%98%EA%B8%B0

0개의 댓글