TL;DR

  • Libyears는 관리 중인 10개 저장소의 의존성 부채를 libyears 단위로 측정하고, 전체 합계는 1,904.7 libyears임.
  • 주요 지표는 주요 변경 가중치 반영 94.5, 주의 필요 항목 치명적 10개·높음 1개, 주요 버전 업데이트 없이 해결 가능한 빠른 개선 0개, 중앙 건강 점수 87점임.
  • 최근 30일 동안 2.2 libyears의 부채를 줄였지만, 업스트림 릴리스 이후 순증가분은 42.8 libyears임.
  • 저장소 간 의존성 버전 편차가 있으며, TypeScript는 9개 저장소에서 7개 버전, @types/node는 8개 저장소에서 11개 버전으로 확인됨.
  • 런타임 지원 종료일이 지난 환경을 사용하는 저장소는 2개이며, 공개 저장소는 GitHub API로 매니페스트와 잠금 파일을 읽어 매일 다시 검사함.

전체 현황

  • 저장소 10개, 그룹 3개를 측정했으며 중앙 건강 점수는 87점임.
  • 누적 의존성 부채는 1,904.7 libyears이며, 주요 변경 가중치를 반영한 값은 94.5임.
  • 주의가 필요한 항목은 치명적 10개, 높음 1개이며, 주요 버전 업데이트 없이 해결 가능한 빠른 개선 항목은 0개임.

최근 30일 변화

  • 10개 저장소를 측정했으며, 작업이 진행된 곳에서 2.2 libyears를 줄임.
  • 업스트림 릴리스 이후 전체적으로는 42.8 libyears 더 뒤처짐.
  • vuejs/core는 2.1 libyears, storybookjs/storybook은 0.1 libyears 감소함.

저장소 간 공유 의존성

  • 한 번의 업그레이드가 여러 저장소에 적용될 수 있으며, 저장소별 버전 수가 1보다 높으면 버전이 서로 달라 업그레이드 작업도 여러 건으로 나뉨.
  • typescript: 9개 저장소, 7개 버전.
  • @types/node: 8개 저장소, 11개 버전.
  • prettier: 8개 저장소, 7개 버전.
  • eslint: 7개 저장소, 7개 버전.
  • vitest: 7개 저장소, 6개 버전.
  • rollup: 6개 저장소, 6개 버전.
  • lint-staged: 6개 저장소, 5개 버전.
  • ws: 6개 저장소, 4개 버전.

프레임워크

  • 프레임워크 그룹의 합계는 1,526.4 libyears임.
  • vercel/next.js: 직접 의존성 622개, 전이 의존성 4,410개, 지원 종료 런타임 사용; 108.2 libyears, 긴급도 0, 빠른 개선 D, 건강 점수 45.
  • facebook/react: 직접 의존성 112개, 전이 의존성 1,094개, 지원 종료 런타임 사용, 대기 중 PR 1개; 335.1 libyears, 긴급도 10, 빠른 개선 C, 건강 점수 55.
  • angular/angular: 직접 의존성 432개, 전이 의존성 2,781개; 53.4 libyears, 긴급도 0, 빠른 개선 B, 건강 점수 80.
  • sveltejs/svelte: 직접 의존성 60개, 전이 의존성 449개, 대기 중 PR 3개; 32.1 libyears, 긴급도 0, 빠른 개선 A, 건강 점수 86.
  • vuejs/core: 직접 의존성 121개, 전이 의존성 567개, 대기 중 PR 9개; 17.5 libyears, 긴급도 0, 빠른 개선 A, 건강 점수 92.

도구

  • 도구 그룹의 합계는 331.9 libyears임.
  • storybookjs/storybook: 직접 의존성 900개, 전이 의존성 2,868개; 304.6 libyears, 긴급도 0, 빠른 개선 C, 건강 점수 57.
  • vitejs/vite: 직접 의존성 403개, 전이 의존성 1,350개, 대기 중 PR 3개; 27.3 libyears, 긴급도 0, 빠른 개선 A, 건강 점수 94.

백엔드

  • 백엔드 그룹의 합계는 46.4 libyears임.
  • prisma/prisma: 직접 의존성 1,812개, 전이 의존성 1,340개, 대기 중 PR 1개; 37.8 libyears, 긴급도 0, 빠른 개선 A, 건강 점수 88.
  • nestjs/nest: 직접 의존성 139개, 전이 의존성 1,493개, 대기 중 PR 6개; 5.5 libyears, 긴급도 0, 빠른 개선 A, 건강 점수 98.
  • expressjs/express: 직접 의존성 44개, 전이 의존성 0개; 선언된 버전 범위만 확인되며 3.1 libyears, 긴급도 0, 빠른 개선 A, 건강 점수 87.

측정 방식과 패키지 조회

  • 공개 저장소는 GitHub API를 통해 매니페스트와 잠금 파일을 읽고, 모든 계정에 동일한 파이프라인으로 매일 다시 검사함.
  • 저장소는 해당 저장소 관리자의 소유이며 서비스 고객의 소유물이 아님.
  • 버전 정보는 잠금 파일, 릴리스 날짜는 npm 레지스트리, 보안 권고는 OSV에서 가져옴.
  • 저장소가 아닌 개별 패키지를 조회하는 경우 각 npm 패키지에 /p/<name> 페이지가 제공됨.