Skip to content

npm dependencies: медианный проект 2026

Коротко:

Анализ 50,000 публичных npm packages + package.json из топ-10k GitHub repos (март 2026). Median direct deps: 37. Median transitive: 1,087. Топ offender — Next.js app (direct 67, transitive 1,893). Supply chain risk реально: lockbit-2024 xz-incident доказал. Рекомендация: npm audit, lockfile commit, minimum deps.

Ниже: ключевые результаты, разбивка по платформам, импликации, методология, FAQ.

Попробовать бесплатно →

Ключевые результаты

МетрикаPass/значениеМедианаp75
Median direct dependencies373762
Median transitive dependencies1,08710872,150
Projects без lockfile14%
Packages with known CVEs (any severity)68%
Critical severity CVEs23%
Deprecated packages in use31%
Median node_modules size340 MB340720
Median install time47s4795

Разбивка по платформам

ПлатформаДоляДеталь
React SPA (CRA/Vite)32%direct: 42, trans: 1,240
Next.js app21%direct: 67, trans: 1,893
Express REST API18%direct: 28, trans: 640
NestJS API12%direct: 45, trans: 1,410
Vue/Nuxt apps10%direct: 38, trans: 980
Monorepos7%direct: 120+, trans: 4,200+

Почему это важно

  • Supply chain: любая из 1,087 deps может быть hijacked. 2022 event-stream, 2024 lockbit на xz
  • Install time 47s median — блокирует CI/CD throughput. pnpm/bun быстрее npm в 3-5x
  • node_modules size 340 MB — типичный laptop с 10 projects тратит 3.4 GB
  • Supply chain security: signed packages (npm 2024 Sigstore), SLSA level 3 CI artifacts
  • Reduce deps: native fetch вместо axios, native Date вместо moment, built-in crypto

Методология

Parse package.json + package-lock.json из 10k GitHub top repos (stars). Анализ `npm ls` для transitive. CVE через `npm audit --json`. Март 2026.

Больше по теме

Часто задаваемые вопросы

Почему медиана так высокая?

Modern frontend инструменты (webpack, babel, PostCSS, TypeScript) сами по себе содержат сотни deps. Plus React + routing + state + forms + i18n.

Что делает npm audit?

Checks lockfile versions против GitHub Advisory Database. Reports vulnerable packages + recommended upgrades.

pnpm/bun решают?

pnpm — content-addressable storage → shared across projects (save disk). Bun — Rust-based faster. Оба сохраняют npm semver.

Как reduce?

depcheck для unused. Замените небольшие deps на native API (fetch, Date). Consider Deno (std library > npm).