frontend

라이브러리 퍼블리시 시 원본 코드도 첨부해야할까?

냠냠맨 2023. 12. 15. 03:33

아무 생각없이..

그냥 아무생각없이 빌드 결과물이 모이는 dist 폴더와 실제 작업이 들어가는 src 폴더를 함께 배포하고 있었는데 문득 그런 의심이 들었습니다. 어차피 사용자는 빌드된 결과물만 사용할텐데 나는 왜 자연스럽게 src 폴더도 같이 배포하고있지?

 

라는 의문이 들었고 여러가지 평소에 써오던 라이브러리를 참고하여 본 결과 (zod, zustand, jotai , ) 대부분의 라이브러리들이 빌드 결과물만을 내보내고 있다는 사실을 깨닫게되었습니다.

 

src 폴더를 내보내는 경우에는 사용자가 내부구현을 살펴볼 수 있게하기 위함이나 / 사용자가 라이브러리를 확장할 수 있게끔 하고 싶을 때 유용하다는 내용들을 찾을 수 있었는데 사실 라이브러리를 사용하는 사람의 관점이나 만드는 사람의 관점이나 사용자가 라이브러리를 확장해서 쓸 일은 웬만하면 없는것이 가장 좋을 것입니다.

 

또한 내부구현의 경우에는 궁금하면... 오픈소스니까... 레포지토리 와서 보면 되고요... 이렇게 생각해보니 굳이 원본 코드를 퍼블리시할때 내보낼 필요가 없다는 생각이 들었습니다.

  "files": [
    "dist",
    "src"
  ],

package.json의 files 필드를 이용하여 publish 시 npm에 업로드할 폴더들을 정할 수 있는데 저와 같은 경우 빌드결과물만을 내보내도 된다는 판단이 선 상태이니 빌드 결과물은 담은 dist 만 남기고 src를 지워주도록 하였습니다.

원본 코드까지 담고 있어 54.9kb의 크기를 차지하고 있는 모습입니다.

src 폴더를 제거한 이후

unpiacked size를 36.5kb까지 낮출 수 있었습니다.

물론 src 폴더를 내보내지 않음으로 인하여 생기는 문제 역시 없는 것을 확인하였습니다.

 

저걸 왜 몰라... 라는 생각이 드실 수도 있을 것 같지만.....

저는 모릅니다..

감사합니다.

반응형