전문가로서 프로젝트에서 NPM 종속성을 관리하는 도구
4429 단어 npmwebdevtutorialjavascript
프로젝트의 품질에 영향을 미치는 많은 측면이 있습니다. 그들 중 일부는 이해하기 어렵고 확인하기 어려우며 고도로 숙련된 개발자 또는 QA 엔지니어의 수동 확인이 필요합니다. 다른 것들은 평범하고 단순합니다. 자동으로 확인하고 수정할 수 있습니다. 이러한 사실에도 불구하고 그들은 전체 프로젝트 품질의 중요한 부분을 나타냅니다.
이 기사에서는 NPM 종속성, 라이센스 및 보안 문제 유효성 검사와 같은 프로젝트의 일부 중요한 측면을 자동으로 확인할 수 있는 NPM 패키지를 찾을 수 있습니다.
누락되거나 사용되지 않은 종속성 찾기
Depcheck는 사용되지 않는 종속성과 package.json에서 누락되었지만 코드 베이스에서 사용되는 종속성을 확인하는 데 유용한 작은 라이브러리입니다.
depcheck - Check for Vulnerabilities in Your Dependencies
다음 문제를 방지하려면 로컬(예: 사전 커밋 후크) 또는 원격 CI에서 사용하는 것이 좋습니다.
AWS Lambda 핸들러도 콜드 스타트가 더 길고 이벤트가 람다 크기 제한을 초과할 수 있습니다.
개발 종속성인 경우 CI/CD 파이프라인.
설치 및 사용
npm install -g depcheck
// or
yarn global add depcheck
사용 예
// usage as npm script
"dependencies:check": "yarn run depcheck",
이 명령을 실행하면 발행된 종속성 목록을 볼 수 있습니다.
발급된 종속성 목록
npm-audit , yarn audit 및 improved-yarn-audit 은 종속성 취약성을 찾을 수 있는 도구입니다. 또한 패키지를 자동으로 업데이트하여 문제를 해결합니다. npm 감사와 원사 감사는 모두 패키지 관리자와 함께 사전 설치되지만 개선된 원사 감사를 선호합니다. 몇 가지 개선 사항을 제공하는 원사 감사 래퍼입니다. 특히 CI 파이프라인에서 사용하는 경우(문서에서):
improved-yarn-audit - This project aims to improve upon the existing Yarn package manager audit functionality
설치
npm install -g improved-yarn-audit
// or
yarn global add improved-yarn-audit
사용 예
"dependencies:audit": "yarn run improved-yarn-audit — min-severity moderate",
아래에서 실제 프로젝트 코드베이스에서 이 명령을 사용한 결과를 볼 수 있습니다. 이 도구는 전이 종속성에서도 취약성을 검색합니다.
종속성 라이선스 확인
실제 프로덕션 프로젝트의 경우 의존성을 사용하는 방식이 패키지 라이선스에 의해 금지될 수 있기 때문에 의존성 라이선스를 사용하는 것이 중요합니다. 이를 방지하려면 프로젝트에서 사용하는 모든 종속 항목의 라이선스를 지속적으로 확인해야 합니다. 그리고 프로젝트가 스타트업인 경우 투자자가 제품을 승인하도록 하려면 라이센스에 따라 종속성을 적절하게 사용해야 합니다. license-checker가 가장 좋은 방법입니다!
license-checker - Ever needed to see all the license info for a module and its dependencies?
설치
npm install -g license-checker
// or
yarn global add license-checker
사용 예
"licenses:check": "yarn run license-checker --exclude 'MIT, MIT OR X11, BSD, ISC'",
종속성 라이선스 확인
그러나 CI/CD 내부에서 사용하는 경우 훨씬 더 짧기 때문에 다음 변형을 선호합니다.
"licenses:check:ci": "yarn run license-checker — summary",
이 기사가 NPM 패키지의 문제를 해결하거나 피하는 데 도움이 되었기를 바랍니다.
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(전문가로서 프로젝트에서 NPM 종속성을 관리하는 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/max_vynohradov/tools-to-manage-npm-dependency-in-your-project-as-a-professional-47ek텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)