Dependency scope

npm 의존성은 직접·개발·전이 범위로 읽어야 한다

어떤 패키지를 어디에 적는지는 코드 실행 시점과 빌드 시점, lockfile 재현성에 영향을 준다.

범위기록 위치설치 이유문제 신호
dependenciespackage.json dependencies앱 실행에 필요한 라이브러리개발 도구가 runtime에 들어감
devDependenciespackage.json devDependencies빌드, 테스트, 타입 검사배포 환경에서 누락되면 안 되는 패키지 혼동
transitivepackage-lock.json직접 의존성이 요구하는 하위 패키지lockfile 없이 설치 결과가 달라짐
peer경고 메시지와 문서프레임워크 버전 호환React/Vite 버전 불일치
optional환경별 선택 의존성플랫폼 특화 기능설치 실패를 치명 오류로 오해

의존성 범위를 나누면 번들 크기, 배포 설치, 팀의 재현 가능한 빌드가 안정된다.