npm의 package.json의 영역
dependencies : 프로젝트 실행에 필수 라이브러리, 런타임에 포함
devDependencies : 개발하고, 테스트엔 사용하지만 런타임에는 필요없는 라이브러리
peerDependencies : 런타임에 필요하긴 하지만 의존성을 직접 관리하지 않는 라이브러리, ex)플러그인
TS와 관련된 라이브러리는 일반적으로 devDependencies
타입의존성(@type)을 고려 - 타입정보만 있고 구현체는 포함하지 않는것
세가지중 하나라도 맞지않으면 의존성과 상관없이 보이는 곳에서 오류가 발생할 수 있음.
라이브러리를 업데이트하는경우 @types 역시 업데이트 해야함
타입스크립트로 작성된 라이브러리 라면 타입 선언을 자체적으로 포함하고, 자바스크립트로 작성된 라이브러리라면 타입 선언을 DefinitelyTyped에 공개하는 것이 좋습니다.
현재 프로젝트보다 라이브러리에게 필요한 ts의 버전이 높은상황?