npm 모듈을 많이 개발하는 사람이라면 잘 알수도 있지만 의외로 모르는 사람이 많다.

보통 사용하는건 dependencies, devDependencies 두가지 일 것이고, Peer dependency의 존재를 모르거나 왜 쓰는지 잘 모르는 사람이 많은데, 제대로 알고 사용할 수 있도록 정리해본다.

특징

dependencies

devDependencies

peerDependencies

예시

react, react-dom 패키지

가정1: npm i react 직후 리액트를 바로 사용할 수 있으므로 react 패키지에는 peerDependencies가 없을것으로 기대된다.

증명1: 실제로 reactpackage.json에는 peerDependencies가 없다.

가정2: react-domreact를 기반으로 동작하므로 peerDependencies에 react가 있을것이다.

증명2: 실제로 react-dompeerDependenciesreact가 있다.