storycraft/node-kakao

esm 모듈 배포에 rollup 을 사용하는 이유

jjangga0214 opened this issue · 1 comments

안녕하세요?

현재 umd 배포에는 tsc 를, esm 배포에는 rollup 을 사용하고 있습니다.
왜 둘다 tsc 를 사용하지 않고 rollup 을 사용하시는 걸까요?

제가 알기로 (특히 frontend) 라이브러리에서 esm 배포에 rollup 을 사용하는 경우는 tree-shaking 된 하나의 파일로 번들링하거나, 특정 의존성 컴포넌트때문에 번들링이 필수인 경우가 주입니다.

node-kakao 는 브라우저에서 사용할 수 없고, single file bundling 을 하는 것도 아닌데, 왜 rollup 을 쓰는지 모르겠습니다.

추가로 다음과 같이 의존성 중 3개만 외부 모듈로 취급하는 이유도 궁금합니다.

external: [
// Excluded
'axios',
'form-data',
'promise-socket'
],

esm 배포에 rollup을 사용한 이유는 해당 라이브러리가 Deno와 같은 다른 플랫폼에서도 사용될 수 있도록 하기 위함입니다. 3개의 제외된 의존성은 nodejs 플랫폼에서만 돌아가는 라이브러리였기때문에 제외했습니다. 실제 NodeKakao는 브라우저에서 제약상 서버에 직접 접속을 할 수 없다는 것을 제외하면 모든 기능을 사용 할 수 있습니다.