아무 생각없이..
그냥 아무생각없이 빌드 결과물이 모이는 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 폴더를 내보내지 않음으로 인하여 생기는 문제 역시 없는 것을 확인하였습니다.
저걸 왜 몰라... 라는 생각이 드실 수도 있을 것 같지만.....
저는 모릅니다..
감사합니다.
'frontend' 카테고리의 다른 글
react-native expo router 시작해보기 (0) | 2024.01.07 |
---|---|
프론트엔드 클린아키텍처 (2) | 2024.01.05 |
npm 라이브러리를 만들고 publish 하기 (1) | 2023.11.28 |
next.js , tailwindcss, path alias storybook 세팅하기 (2) | 2023.11.07 |
제목은 일단 스토리북으로 하겠습니다 그런데 고민을 곁들인 (2) | 2023.10.31 |