사용하지 않는 dependency 정리하기
프로젝트를 점점 진행하다보면 package.json 파일에 dependency가 점점 쌓이게 됩니다.
초기 프로젝트 세팅을 위한 vue, react, express 등등
eslint, prettier, test tool 등
각종 편의를 위한 라이브러리 등
모두 프로젝트에 사용하면 좋겠지만, 테스트를 위해 추가했다고 지우지 않고 커밋을 한다던가,
더 이상 사용하지 않는 기능이라서 dependency에만 남아있는 경우가 있습니다.
사용하지 않는 dependency가 계속 프로젝트에 남아 있으면
프로젝트가 무거워지고 build 할때도 오래 걸리게 됩니다.
이럴때 필요한 라이브러리가 있습니다.
depcheck
package.json 에서 더 이상 사용하지 않는 쓸모 없는 dependency를 찾아주고,
또 누락된 dependency도 찾아주는 라이버리입니다.
사용법
글로벌로 depcheck 라이브러리를 설치한 후, 자신의 프로젝트에서 depcheck을 실행합니다.
npm install -g depcheck
cd <project path>
depcheck
결과
사용하지 않는 dependecy와 누락된 dependecy 모두 알려줍니다.
Unused dependencies
* vue
* web-vitals
Unused devDependencies
* prettier
Missing dependencies
* eslint-config-react-app: .\package.json
* react-dom: .\src\index.js
추가 사항
depcheck은 자바스크립트 파일 뿐만 아니라
React, Vue, TypeScript, Sass/Scss 등 다양한 문법들을 인식해서 package.json 파일을 분석합니다.
import Vue from 'Vue' 와 같은 import 방식으로 사용하는 것 뿐만 아니라
babel, eslint, prettier, karama, jest 등 다양한 환경에서 사용하는 것도 분석합니다.
하지만 depcheck의 로직이 완벽한것은 아닙니다.
dependency를 지우기 전에 직접 확인을 해봐야 합니다.